{
 "cells": [
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Importações",
   "id": "22ae26806948effe"
  },
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2025-07-28T17:15:02.545106Z",
     "start_time": "2025-07-28T17:14:53.592889Z"
    }
   },
   "source": [
    "import os\n",
    "import random\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import shap\n",
    "\n",
    "from matplotlib.ticker import FuncFormatter\n",
    "from sklearn.metrics import root_mean_squared_error\n",
    "from sklearn.model_selection import TimeSeriesSplit\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from sklearn.ensemble import RandomForestRegressor as RF\n",
    "\n",
    "import pandas as pd\n",
    "\n",
    "SEED = 100\n",
    "SEEDS = [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]\n",
    "CAMPUS_TREINO = \"PARANAGUÁ\"\n",
    "K_FOLDS = 4\n",
    "N_CLASSES = 10\n",
    "\n",
    "\n",
    "def reset_seed(rnd_seed=SEED):\n",
    "    os.environ['PYTHONHASHSEED'] = '0'\n",
    "    random.seed(rnd_seed)\n",
    "\n",
    "\n",
    "def calcular_rrmse(y_true, y_pred):\n",
    "    y_true = np.array(y_true)\n",
    "    y_pred = np.array(y_pred)\n",
    "\n",
    "    rmse = root_mean_squared_error(y_true, y_pred)\n",
    "\n",
    "    mean_y_true = np.mean(y_true)\n",
    "\n",
    "    rrmse = rmse / mean_y_true\n",
    "    return rrmse\n",
    "\n",
    "\n",
    "reset_seed()\n"
   ],
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/eduardo/miniconda3/envs/rapids-24.12/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Carregar Datasets",
   "id": "6363b869050be12d"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:15:02.827363Z",
     "start_time": "2025-07-28T17:15:02.554401Z"
    }
   },
   "cell_type": "code",
   "source": [
    "df = pd.read_csv(\"./dados/dados_mesclados.csv\", sep=';', decimal='.')\n",
    "df[\"DATA\"] = pd.to_datetime(df[\"DATA\"], format=\"%Y-%m-%d\")\n",
    "df"
   ],
   "id": "f9f7314b4ca7a9b9",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "      CONSUMO       DATA  TEMP_MIN_MÉD_MENS  TEMP_MÉD_MIN_MENS  \\\n",
       "0     11400.0 2015-02-28               18.0               22.0   \n",
       "1     18427.0 2015-03-31               12.0               19.0   \n",
       "2     14274.0 2015-04-30               13.0               19.0   \n",
       "3     11987.0 2015-05-31                7.0               11.0   \n",
       "4      9006.0 2015-06-30                4.0               10.0   \n",
       "...       ...        ...                ...                ...   \n",
       "2378   5640.0 2024-06-30               -0.0                8.0   \n",
       "2379  11687.0 2024-07-31                1.0                9.0   \n",
       "2380  11129.0 2024-08-31               -3.0                7.0   \n",
       "2381   9690.0 2024-09-30               10.0               13.0   \n",
       "2382  10416.0 2024-10-31               10.0               14.0   \n",
       "\n",
       "      TEMP_MÉD_MÉD_MENS  TEMP_MÉD_MAX_MENS  TEMP_MÉD_ACC_MENS  \\\n",
       "0                  25.0               27.0              692.0   \n",
       "1                  24.0               26.0              729.0   \n",
       "2                  21.0               24.0              640.0   \n",
       "3                  18.0               23.0              557.0   \n",
       "4                  18.0               22.0              542.0   \n",
       "...                 ...                ...                ...   \n",
       "2378               17.0               20.0              499.0   \n",
       "2379               13.0               18.0              413.0   \n",
       "2380               15.0               21.0              468.0   \n",
       "2381               20.0               24.0              591.0   \n",
       "2382               20.0               25.0              610.0   \n",
       "\n",
       "      TEMP_MAX_MÉD_MENS  PRECIPITAÇÃO_MÉD_MENS  TEMP_MIN_MIN_MENS  ...  \\\n",
       "0                  33.0                    4.0               18.0  ...   \n",
       "1                  32.0                    2.0               12.0  ...   \n",
       "2                  29.0                    6.0               13.0  ...   \n",
       "3                  28.0                    9.0                7.0  ...   \n",
       "4                  29.0                    1.0                4.0  ...   \n",
       "...                 ...                    ...                ...  ...   \n",
       "2378               26.0                    1.0               -0.0  ...   \n",
       "2379               25.0                    6.0                1.0  ...   \n",
       "2380               31.0                    1.0               -3.0  ...   \n",
       "2381               34.0                    3.0               10.0  ...   \n",
       "2382               33.0                    3.0               10.0  ...   \n",
       "\n",
       "      CURSOS_GRAD_VESPERTINO  CURSOS_GRAD_NOTURNO  CURSOS_POS  FÉRIAS  \\\n",
       "0                        0.0             1.428571         1.0       0   \n",
       "1                        0.0             2.000000         1.0       0   \n",
       "2                        0.0             2.000000         1.0       0   \n",
       "3                        0.0             2.000000         1.0       0   \n",
       "4                        0.0             2.000000         1.0       0   \n",
       "...                      ...                  ...         ...     ...   \n",
       "2378                     1.0             1.000000         0.0       0   \n",
       "2379                     1.0             1.000000         0.0      12   \n",
       "2380                     1.0             1.000000         0.0       0   \n",
       "2381                     1.0             1.000000         0.0       0   \n",
       "2382                     1.0             1.000000         0.0       0   \n",
       "\n",
       "      FERIADO  COVID  GREVE               CAMPUS        REGIÃO  ORDEM  \n",
       "0           3      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      1  \n",
       "1           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      2  \n",
       "2           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      3  \n",
       "3           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      4  \n",
       "4           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      5  \n",
       "...       ...    ...    ...                  ...           ...    ...  \n",
       "2378        0      0     30     UNIÃO DA VITÓRIA    REGIÃO SUL     81  \n",
       "2379        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     82  \n",
       "2380        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     83  \n",
       "2381        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     84  \n",
       "2382        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     85  \n",
       "\n",
       "[2383 rows x 89 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CONSUMO</th>\n",
       "      <th>DATA</th>\n",
       "      <th>TEMP_MIN_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MIN_MENS</th>\n",
       "      <th>TEMP_MÉD_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MAX_MENS</th>\n",
       "      <th>TEMP_MÉD_ACC_MENS</th>\n",
       "      <th>TEMP_MAX_MÉD_MENS</th>\n",
       "      <th>PRECIPITAÇÃO_MÉD_MENS</th>\n",
       "      <th>TEMP_MIN_MIN_MENS</th>\n",
       "      <th>...</th>\n",
       "      <th>CURSOS_GRAD_VESPERTINO</th>\n",
       "      <th>CURSOS_GRAD_NOTURNO</th>\n",
       "      <th>CURSOS_POS</th>\n",
       "      <th>FÉRIAS</th>\n",
       "      <th>FERIADO</th>\n",
       "      <th>COVID</th>\n",
       "      <th>GREVE</th>\n",
       "      <th>CAMPUS</th>\n",
       "      <th>REGIÃO</th>\n",
       "      <th>ORDEM</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>11400.0</td>\n",
       "      <td>2015-02-28</td>\n",
       "      <td>18.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>692.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.428571</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18427.0</td>\n",
       "      <td>2015-03-31</td>\n",
       "      <td>12.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>729.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>14274.0</td>\n",
       "      <td>2015-04-30</td>\n",
       "      <td>13.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>640.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>11987.0</td>\n",
       "      <td>2015-05-31</td>\n",
       "      <td>7.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>557.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>9006.0</td>\n",
       "      <td>2015-06-30</td>\n",
       "      <td>4.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>542.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2378</th>\n",
       "      <td>5640.0</td>\n",
       "      <td>2024-06-30</td>\n",
       "      <td>-0.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>499.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2379</th>\n",
       "      <td>11687.0</td>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>413.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2380</th>\n",
       "      <td>11129.0</td>\n",
       "      <td>2024-08-31</td>\n",
       "      <td>-3.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>468.0</td>\n",
       "      <td>31.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-3.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2381</th>\n",
       "      <td>9690.0</td>\n",
       "      <td>2024-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>591.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2382</th>\n",
       "      <td>10416.0</td>\n",
       "      <td>2024-10-31</td>\n",
       "      <td>10.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>610.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2383 rows × 89 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 2
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# Tratamento dos dados\n",
    "## Simplificação dos valores decimais"
   ],
   "id": "659f050c10afa384"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:15:03.019286Z",
     "start_time": "2025-07-28T17:15:02.991686Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# Arredondamento dos dados, pelas casas decimais serem irrelevantes\n",
    "df = df.round()\n",
    "\n",
    "# Converte os dados para o tipo inteiro\n",
    "df[df.drop(columns=[\"DATA\", \"CAMPUS\", \"REGIÃO\"]).columns] = df[\n",
    "    df.drop(columns=[\"DATA\", \"CAMPUS\", \"REGIÃO\"]).columns].astype(int)\n",
    "\n",
    "df"
   ],
   "id": "6211a295f6a1b364",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "      CONSUMO       DATA  TEMP_MIN_MÉD_MENS  TEMP_MÉD_MIN_MENS  \\\n",
       "0       11400 2015-02-28                 18                 22   \n",
       "1       18427 2015-03-31                 12                 19   \n",
       "2       14274 2015-04-30                 13                 19   \n",
       "3       11987 2015-05-31                  7                 11   \n",
       "4        9006 2015-06-30                  4                 10   \n",
       "...       ...        ...                ...                ...   \n",
       "2378     5640 2024-06-30                  0                  8   \n",
       "2379    11687 2024-07-31                  1                  9   \n",
       "2380    11129 2024-08-31                 -3                  7   \n",
       "2381     9690 2024-09-30                 10                 13   \n",
       "2382    10416 2024-10-31                 10                 14   \n",
       "\n",
       "      TEMP_MÉD_MÉD_MENS  TEMP_MÉD_MAX_MENS  TEMP_MÉD_ACC_MENS  \\\n",
       "0                    25                 27                692   \n",
       "1                    24                 26                729   \n",
       "2                    21                 24                640   \n",
       "3                    18                 23                557   \n",
       "4                    18                 22                542   \n",
       "...                 ...                ...                ...   \n",
       "2378                 17                 20                499   \n",
       "2379                 13                 18                413   \n",
       "2380                 15                 21                468   \n",
       "2381                 20                 24                591   \n",
       "2382                 20                 25                610   \n",
       "\n",
       "      TEMP_MAX_MÉD_MENS  PRECIPITAÇÃO_MÉD_MENS  TEMP_MIN_MIN_MENS  ...  \\\n",
       "0                    33                      4                 18  ...   \n",
       "1                    32                      2                 12  ...   \n",
       "2                    29                      6                 13  ...   \n",
       "3                    28                      9                  7  ...   \n",
       "4                    29                      1                  4  ...   \n",
       "...                 ...                    ...                ...  ...   \n",
       "2378                 26                      1                  0  ...   \n",
       "2379                 25                      6                  1  ...   \n",
       "2380                 31                      1                 -3  ...   \n",
       "2381                 34                      3                 10  ...   \n",
       "2382                 33                      3                 10  ...   \n",
       "\n",
       "      CURSOS_GRAD_VESPERTINO  CURSOS_GRAD_NOTURNO  CURSOS_POS  FÉRIAS  \\\n",
       "0                          0                    1           1       0   \n",
       "1                          0                    2           1       0   \n",
       "2                          0                    2           1       0   \n",
       "3                          0                    2           1       0   \n",
       "4                          0                    2           1       0   \n",
       "...                      ...                  ...         ...     ...   \n",
       "2378                       1                    1           0       0   \n",
       "2379                       1                    1           0      12   \n",
       "2380                       1                    1           0       0   \n",
       "2381                       1                    1           0       0   \n",
       "2382                       1                    1           0       0   \n",
       "\n",
       "      FERIADO  COVID  GREVE               CAMPUS        REGIÃO  ORDEM  \n",
       "0           3      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      1  \n",
       "1           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      2  \n",
       "2           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      3  \n",
       "3           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      4  \n",
       "4           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      5  \n",
       "...       ...    ...    ...                  ...           ...    ...  \n",
       "2378        0      0     30     UNIÃO DA VITÓRIA    REGIÃO SUL     81  \n",
       "2379        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     82  \n",
       "2380        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     83  \n",
       "2381        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     84  \n",
       "2382        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     85  \n",
       "\n",
       "[2383 rows x 89 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CONSUMO</th>\n",
       "      <th>DATA</th>\n",
       "      <th>TEMP_MIN_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MIN_MENS</th>\n",
       "      <th>TEMP_MÉD_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MAX_MENS</th>\n",
       "      <th>TEMP_MÉD_ACC_MENS</th>\n",
       "      <th>TEMP_MAX_MÉD_MENS</th>\n",
       "      <th>PRECIPITAÇÃO_MÉD_MENS</th>\n",
       "      <th>TEMP_MIN_MIN_MENS</th>\n",
       "      <th>...</th>\n",
       "      <th>CURSOS_GRAD_VESPERTINO</th>\n",
       "      <th>CURSOS_GRAD_NOTURNO</th>\n",
       "      <th>CURSOS_POS</th>\n",
       "      <th>FÉRIAS</th>\n",
       "      <th>FERIADO</th>\n",
       "      <th>COVID</th>\n",
       "      <th>GREVE</th>\n",
       "      <th>CAMPUS</th>\n",
       "      <th>REGIÃO</th>\n",
       "      <th>ORDEM</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>11400</td>\n",
       "      <td>2015-02-28</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>25</td>\n",
       "      <td>27</td>\n",
       "      <td>692</td>\n",
       "      <td>33</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18427</td>\n",
       "      <td>2015-03-31</td>\n",
       "      <td>12</td>\n",
       "      <td>19</td>\n",
       "      <td>24</td>\n",
       "      <td>26</td>\n",
       "      <td>729</td>\n",
       "      <td>32</td>\n",
       "      <td>2</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>14274</td>\n",
       "      <td>2015-04-30</td>\n",
       "      <td>13</td>\n",
       "      <td>19</td>\n",
       "      <td>21</td>\n",
       "      <td>24</td>\n",
       "      <td>640</td>\n",
       "      <td>29</td>\n",
       "      <td>6</td>\n",
       "      <td>13</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>11987</td>\n",
       "      <td>2015-05-31</td>\n",
       "      <td>7</td>\n",
       "      <td>11</td>\n",
       "      <td>18</td>\n",
       "      <td>23</td>\n",
       "      <td>557</td>\n",
       "      <td>28</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>9006</td>\n",
       "      <td>2015-06-30</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>542</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2378</th>\n",
       "      <td>5640</td>\n",
       "      <td>2024-06-30</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>499</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2379</th>\n",
       "      <td>11687</td>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>13</td>\n",
       "      <td>18</td>\n",
       "      <td>413</td>\n",
       "      <td>25</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2380</th>\n",
       "      <td>11129</td>\n",
       "      <td>2024-08-31</td>\n",
       "      <td>-3</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "      <td>21</td>\n",
       "      <td>468</td>\n",
       "      <td>31</td>\n",
       "      <td>1</td>\n",
       "      <td>-3</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2381</th>\n",
       "      <td>9690</td>\n",
       "      <td>2024-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>24</td>\n",
       "      <td>591</td>\n",
       "      <td>34</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2382</th>\n",
       "      <td>10416</td>\n",
       "      <td>2024-10-31</td>\n",
       "      <td>10</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>25</td>\n",
       "      <td>610</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2383 rows × 89 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 3
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "## Remoção dos outliers",
   "id": "9d01c69bb59e0fed"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:15:03.816837Z",
     "start_time": "2025-07-28T17:15:03.041576Z"
    }
   },
   "cell_type": "code",
   "source": [
    "dataframes = []\n",
    "\n",
    "for campus, dados in df.groupby(\"CAMPUS\"):\n",
    "    q1 = dados[\"CONSUMO\"].quantile(0.25)\n",
    "    q3 = dados[\"CONSUMO\"].quantile(0.75)\n",
    "    iqr = q3 - q1\n",
    "    limite_inferior = q1 - 1.5 * iqr\n",
    "    limite_superior = q3 + 1.5 * iqr\n",
    "\n",
    "    dados[\"CONSUMO\"] = np.where(dados[\"CONSUMO\"] < limite_inferior, limite_inferior, dados[\"CONSUMO\"])\n",
    "    dados[\"CONSUMO\"] = np.where(dados[\"CONSUMO\"] > limite_superior, limite_superior, dados[\"CONSUMO\"])\n",
    "\n",
    "    dataframes.append(dados)\n",
    "\n",
    "df = pd.concat(dataframes, ignore_index=True)\n",
    "df.to_csv(\"./dados/dados_tratados.csv\", index=False, sep=\";\", decimal=\".\")\n",
    "\n",
    "df"
   ],
   "id": "32508030dc42b3f1",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "      CONSUMO       DATA  TEMP_MIN_MÉD_MENS  TEMP_MÉD_MIN_MENS  \\\n",
       "0     11400.0 2015-02-28                 18                 22   \n",
       "1     18427.0 2015-03-31                 12                 19   \n",
       "2     14274.0 2015-04-30                 13                 19   \n",
       "3     11987.0 2015-05-31                  7                 11   \n",
       "4      9006.0 2015-06-30                  4                 10   \n",
       "...       ...        ...                ...                ...   \n",
       "2378   5640.0 2024-06-30                  0                  8   \n",
       "2379  11687.0 2024-07-31                  1                  9   \n",
       "2380  11129.0 2024-08-31                 -3                  7   \n",
       "2381   9690.0 2024-09-30                 10                 13   \n",
       "2382  10416.0 2024-10-31                 10                 14   \n",
       "\n",
       "      TEMP_MÉD_MÉD_MENS  TEMP_MÉD_MAX_MENS  TEMP_MÉD_ACC_MENS  \\\n",
       "0                    25                 27                692   \n",
       "1                    24                 26                729   \n",
       "2                    21                 24                640   \n",
       "3                    18                 23                557   \n",
       "4                    18                 22                542   \n",
       "...                 ...                ...                ...   \n",
       "2378                 17                 20                499   \n",
       "2379                 13                 18                413   \n",
       "2380                 15                 21                468   \n",
       "2381                 20                 24                591   \n",
       "2382                 20                 25                610   \n",
       "\n",
       "      TEMP_MAX_MÉD_MENS  PRECIPITAÇÃO_MÉD_MENS  TEMP_MIN_MIN_MENS  ...  \\\n",
       "0                    33                      4                 18  ...   \n",
       "1                    32                      2                 12  ...   \n",
       "2                    29                      6                 13  ...   \n",
       "3                    28                      9                  7  ...   \n",
       "4                    29                      1                  4  ...   \n",
       "...                 ...                    ...                ...  ...   \n",
       "2378                 26                      1                  0  ...   \n",
       "2379                 25                      6                  1  ...   \n",
       "2380                 31                      1                 -3  ...   \n",
       "2381                 34                      3                 10  ...   \n",
       "2382                 33                      3                 10  ...   \n",
       "\n",
       "      CURSOS_GRAD_VESPERTINO  CURSOS_GRAD_NOTURNO  CURSOS_POS  FÉRIAS  \\\n",
       "0                          0                    1           1       0   \n",
       "1                          0                    2           1       0   \n",
       "2                          0                    2           1       0   \n",
       "3                          0                    2           1       0   \n",
       "4                          0                    2           1       0   \n",
       "...                      ...                  ...         ...     ...   \n",
       "2378                       1                    1           0       0   \n",
       "2379                       1                    1           0      12   \n",
       "2380                       1                    1           0       0   \n",
       "2381                       1                    1           0       0   \n",
       "2382                       1                    1           0       0   \n",
       "\n",
       "      FERIADO  COVID  GREVE               CAMPUS        REGIÃO  ORDEM  \n",
       "0           3      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      1  \n",
       "1           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      2  \n",
       "2           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      3  \n",
       "3           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      4  \n",
       "4           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      5  \n",
       "...       ...    ...    ...                  ...           ...    ...  \n",
       "2378        0      0     30     UNIÃO DA VITÓRIA    REGIÃO SUL     81  \n",
       "2379        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     82  \n",
       "2380        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     83  \n",
       "2381        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     84  \n",
       "2382        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     85  \n",
       "\n",
       "[2383 rows x 89 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CONSUMO</th>\n",
       "      <th>DATA</th>\n",
       "      <th>TEMP_MIN_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MIN_MENS</th>\n",
       "      <th>TEMP_MÉD_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MAX_MENS</th>\n",
       "      <th>TEMP_MÉD_ACC_MENS</th>\n",
       "      <th>TEMP_MAX_MÉD_MENS</th>\n",
       "      <th>PRECIPITAÇÃO_MÉD_MENS</th>\n",
       "      <th>TEMP_MIN_MIN_MENS</th>\n",
       "      <th>...</th>\n",
       "      <th>CURSOS_GRAD_VESPERTINO</th>\n",
       "      <th>CURSOS_GRAD_NOTURNO</th>\n",
       "      <th>CURSOS_POS</th>\n",
       "      <th>FÉRIAS</th>\n",
       "      <th>FERIADO</th>\n",
       "      <th>COVID</th>\n",
       "      <th>GREVE</th>\n",
       "      <th>CAMPUS</th>\n",
       "      <th>REGIÃO</th>\n",
       "      <th>ORDEM</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>11400.0</td>\n",
       "      <td>2015-02-28</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>25</td>\n",
       "      <td>27</td>\n",
       "      <td>692</td>\n",
       "      <td>33</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18427.0</td>\n",
       "      <td>2015-03-31</td>\n",
       "      <td>12</td>\n",
       "      <td>19</td>\n",
       "      <td>24</td>\n",
       "      <td>26</td>\n",
       "      <td>729</td>\n",
       "      <td>32</td>\n",
       "      <td>2</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>14274.0</td>\n",
       "      <td>2015-04-30</td>\n",
       "      <td>13</td>\n",
       "      <td>19</td>\n",
       "      <td>21</td>\n",
       "      <td>24</td>\n",
       "      <td>640</td>\n",
       "      <td>29</td>\n",
       "      <td>6</td>\n",
       "      <td>13</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>11987.0</td>\n",
       "      <td>2015-05-31</td>\n",
       "      <td>7</td>\n",
       "      <td>11</td>\n",
       "      <td>18</td>\n",
       "      <td>23</td>\n",
       "      <td>557</td>\n",
       "      <td>28</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>9006.0</td>\n",
       "      <td>2015-06-30</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>542</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2378</th>\n",
       "      <td>5640.0</td>\n",
       "      <td>2024-06-30</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>499</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2379</th>\n",
       "      <td>11687.0</td>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>13</td>\n",
       "      <td>18</td>\n",
       "      <td>413</td>\n",
       "      <td>25</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2380</th>\n",
       "      <td>11129.0</td>\n",
       "      <td>2024-08-31</td>\n",
       "      <td>-3</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "      <td>21</td>\n",
       "      <td>468</td>\n",
       "      <td>31</td>\n",
       "      <td>1</td>\n",
       "      <td>-3</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2381</th>\n",
       "      <td>9690.0</td>\n",
       "      <td>2024-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>24</td>\n",
       "      <td>591</td>\n",
       "      <td>34</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2382</th>\n",
       "      <td>10416.0</td>\n",
       "      <td>2024-10-31</td>\n",
       "      <td>10</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>25</td>\n",
       "      <td>610</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2383 rows × 89 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 4
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Normalização",
   "id": "487b4726756321f"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:15:04.387206Z",
     "start_time": "2025-07-28T17:15:03.844523Z"
    }
   },
   "cell_type": "code",
   "source": [
    "dataframes = []\n",
    "\n",
    "for campus, dados in df.groupby(\"CAMPUS\"):\n",
    "    scaler = MinMaxScaler()\n",
    "    dados[[\"CONSUMO\"]] = scaler.fit_transform(dados[[\"CONSUMO\"]]).round(\n",
    "        15)  # Reduz a precisão para evitar problemas de ultrapassagem da escala 1\n",
    "    dataframes.append(dados)\n",
    "\n",
    "df_normalizado = pd.concat(dataframes, ignore_index=True)\n",
    "df_normalizado.to_csv(\"./dados/dados_normalizados.csv\", index=False, sep=\";\", decimal=\".\")\n",
    "\n",
    "df_normalizado"
   ],
   "id": "dc59e40b62564d13",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       CONSUMO       DATA  TEMP_MIN_MÉD_MENS  TEMP_MÉD_MIN_MENS  \\\n",
       "0     0.502037 2015-02-28                 18                 22   \n",
       "1     0.846886 2015-03-31                 12                 19   \n",
       "2     0.643078 2015-04-30                 13                 19   \n",
       "3     0.530844 2015-05-31                  7                 11   \n",
       "4     0.384551 2015-06-30                  4                 10   \n",
       "...        ...        ...                ...                ...   \n",
       "2378  0.359224 2024-06-30                  0                  8   \n",
       "2379  1.000000 2024-07-31                  1                  9   \n",
       "2380  0.940871 2024-08-31                 -3                  7   \n",
       "2381  0.788386 2024-09-30                 10                 13   \n",
       "2382  0.865317 2024-10-31                 10                 14   \n",
       "\n",
       "      TEMP_MÉD_MÉD_MENS  TEMP_MÉD_MAX_MENS  TEMP_MÉD_ACC_MENS  \\\n",
       "0                    25                 27                692   \n",
       "1                    24                 26                729   \n",
       "2                    21                 24                640   \n",
       "3                    18                 23                557   \n",
       "4                    18                 22                542   \n",
       "...                 ...                ...                ...   \n",
       "2378                 17                 20                499   \n",
       "2379                 13                 18                413   \n",
       "2380                 15                 21                468   \n",
       "2381                 20                 24                591   \n",
       "2382                 20                 25                610   \n",
       "\n",
       "      TEMP_MAX_MÉD_MENS  PRECIPITAÇÃO_MÉD_MENS  TEMP_MIN_MIN_MENS  ...  \\\n",
       "0                    33                      4                 18  ...   \n",
       "1                    32                      2                 12  ...   \n",
       "2                    29                      6                 13  ...   \n",
       "3                    28                      9                  7  ...   \n",
       "4                    29                      1                  4  ...   \n",
       "...                 ...                    ...                ...  ...   \n",
       "2378                 26                      1                  0  ...   \n",
       "2379                 25                      6                  1  ...   \n",
       "2380                 31                      1                 -3  ...   \n",
       "2381                 34                      3                 10  ...   \n",
       "2382                 33                      3                 10  ...   \n",
       "\n",
       "      CURSOS_GRAD_VESPERTINO  CURSOS_GRAD_NOTURNO  CURSOS_POS  FÉRIAS  \\\n",
       "0                          0                    1           1       0   \n",
       "1                          0                    2           1       0   \n",
       "2                          0                    2           1       0   \n",
       "3                          0                    2           1       0   \n",
       "4                          0                    2           1       0   \n",
       "...                      ...                  ...         ...     ...   \n",
       "2378                       1                    1           0       0   \n",
       "2379                       1                    1           0      12   \n",
       "2380                       1                    1           0       0   \n",
       "2381                       1                    1           0       0   \n",
       "2382                       1                    1           0       0   \n",
       "\n",
       "      FERIADO  COVID  GREVE               CAMPUS        REGIÃO  ORDEM  \n",
       "0           3      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      1  \n",
       "1           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      2  \n",
       "2           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      3  \n",
       "3           0      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      4  \n",
       "4           1      0      0  ASSIS CHATEAUBRIAND  REGIÃO OESTE      5  \n",
       "...       ...    ...    ...                  ...           ...    ...  \n",
       "2378        0      0     30     UNIÃO DA VITÓRIA    REGIÃO SUL     81  \n",
       "2379        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     82  \n",
       "2380        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     83  \n",
       "2381        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     84  \n",
       "2382        0      0      0     UNIÃO DA VITÓRIA    REGIÃO SUL     85  \n",
       "\n",
       "[2383 rows x 89 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CONSUMO</th>\n",
       "      <th>DATA</th>\n",
       "      <th>TEMP_MIN_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MIN_MENS</th>\n",
       "      <th>TEMP_MÉD_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MAX_MENS</th>\n",
       "      <th>TEMP_MÉD_ACC_MENS</th>\n",
       "      <th>TEMP_MAX_MÉD_MENS</th>\n",
       "      <th>PRECIPITAÇÃO_MÉD_MENS</th>\n",
       "      <th>TEMP_MIN_MIN_MENS</th>\n",
       "      <th>...</th>\n",
       "      <th>CURSOS_GRAD_VESPERTINO</th>\n",
       "      <th>CURSOS_GRAD_NOTURNO</th>\n",
       "      <th>CURSOS_POS</th>\n",
       "      <th>FÉRIAS</th>\n",
       "      <th>FERIADO</th>\n",
       "      <th>COVID</th>\n",
       "      <th>GREVE</th>\n",
       "      <th>CAMPUS</th>\n",
       "      <th>REGIÃO</th>\n",
       "      <th>ORDEM</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.502037</td>\n",
       "      <td>2015-02-28</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>25</td>\n",
       "      <td>27</td>\n",
       "      <td>692</td>\n",
       "      <td>33</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.846886</td>\n",
       "      <td>2015-03-31</td>\n",
       "      <td>12</td>\n",
       "      <td>19</td>\n",
       "      <td>24</td>\n",
       "      <td>26</td>\n",
       "      <td>729</td>\n",
       "      <td>32</td>\n",
       "      <td>2</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.643078</td>\n",
       "      <td>2015-04-30</td>\n",
       "      <td>13</td>\n",
       "      <td>19</td>\n",
       "      <td>21</td>\n",
       "      <td>24</td>\n",
       "      <td>640</td>\n",
       "      <td>29</td>\n",
       "      <td>6</td>\n",
       "      <td>13</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.530844</td>\n",
       "      <td>2015-05-31</td>\n",
       "      <td>7</td>\n",
       "      <td>11</td>\n",
       "      <td>18</td>\n",
       "      <td>23</td>\n",
       "      <td>557</td>\n",
       "      <td>28</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.384551</td>\n",
       "      <td>2015-06-30</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>542</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2378</th>\n",
       "      <td>0.359224</td>\n",
       "      <td>2024-06-30</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>499</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2379</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>13</td>\n",
       "      <td>18</td>\n",
       "      <td>413</td>\n",
       "      <td>25</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2380</th>\n",
       "      <td>0.940871</td>\n",
       "      <td>2024-08-31</td>\n",
       "      <td>-3</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "      <td>21</td>\n",
       "      <td>468</td>\n",
       "      <td>31</td>\n",
       "      <td>1</td>\n",
       "      <td>-3</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2381</th>\n",
       "      <td>0.788386</td>\n",
       "      <td>2024-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>24</td>\n",
       "      <td>591</td>\n",
       "      <td>34</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2382</th>\n",
       "      <td>0.865317</td>\n",
       "      <td>2024-10-31</td>\n",
       "      <td>10</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>25</td>\n",
       "      <td>610</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2383 rows × 89 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Criação das Classes\n",
   "id": "20999d13a9965a0e"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:15:05.031512Z",
     "start_time": "2025-07-28T17:15:04.517311Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def formater_thousands(x, pos):\n",
    "    return f'{x:.2f}'.replace('.', ',')\n",
    "\n",
    "\n",
    "def mapear_classe(consumo, intervalos_quantils):\n",
    "    for i, (inicio_intervalo, fim_intervalo) in enumerate(intervalos_quantils):\n",
    "        if inicio_intervalo <= consumo <= fim_intervalo:\n",
    "            return i\n",
    "\n",
    "\n",
    "df_classes = df_normalizado.copy()\n",
    "quantiles = np.linspace(0, 1, N_CLASSES + 1)\n",
    "intervalos = df_classes[\"CONSUMO\"].quantile(quantiles).to_numpy()\n",
    "\n",
    "classes = [[intervalos[i], intervalos[i + 1]] for i in range(len(intervalos) - 1)]\n",
    "df_classes[\"CLASSE\"] = df_classes[\"CONSUMO\"].apply(lambda val: mapear_classe(val, classes)).astype(int)\n",
    "df_classes.to_csv(f\"./dados/{N_CLASSES}_classes_normalizadas.csv\", index=False, sep=\";\", decimal=\".\")\n",
    "df_classes"
   ],
   "id": "30dfb4a148467bc1",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       CONSUMO       DATA  TEMP_MIN_MÉD_MENS  TEMP_MÉD_MIN_MENS  \\\n",
       "0     0.502037 2015-02-28                 18                 22   \n",
       "1     0.846886 2015-03-31                 12                 19   \n",
       "2     0.643078 2015-04-30                 13                 19   \n",
       "3     0.530844 2015-05-31                  7                 11   \n",
       "4     0.384551 2015-06-30                  4                 10   \n",
       "...        ...        ...                ...                ...   \n",
       "2378  0.359224 2024-06-30                  0                  8   \n",
       "2379  1.000000 2024-07-31                  1                  9   \n",
       "2380  0.940871 2024-08-31                 -3                  7   \n",
       "2381  0.788386 2024-09-30                 10                 13   \n",
       "2382  0.865317 2024-10-31                 10                 14   \n",
       "\n",
       "      TEMP_MÉD_MÉD_MENS  TEMP_MÉD_MAX_MENS  TEMP_MÉD_ACC_MENS  \\\n",
       "0                    25                 27                692   \n",
       "1                    24                 26                729   \n",
       "2                    21                 24                640   \n",
       "3                    18                 23                557   \n",
       "4                    18                 22                542   \n",
       "...                 ...                ...                ...   \n",
       "2378                 17                 20                499   \n",
       "2379                 13                 18                413   \n",
       "2380                 15                 21                468   \n",
       "2381                 20                 24                591   \n",
       "2382                 20                 25                610   \n",
       "\n",
       "      TEMP_MAX_MÉD_MENS  PRECIPITAÇÃO_MÉD_MENS  TEMP_MIN_MIN_MENS  ...  \\\n",
       "0                    33                      4                 18  ...   \n",
       "1                    32                      2                 12  ...   \n",
       "2                    29                      6                 13  ...   \n",
       "3                    28                      9                  7  ...   \n",
       "4                    29                      1                  4  ...   \n",
       "...                 ...                    ...                ...  ...   \n",
       "2378                 26                      1                  0  ...   \n",
       "2379                 25                      6                  1  ...   \n",
       "2380                 31                      1                 -3  ...   \n",
       "2381                 34                      3                 10  ...   \n",
       "2382                 33                      3                 10  ...   \n",
       "\n",
       "      CURSOS_GRAD_NOTURNO  CURSOS_POS  FÉRIAS  FERIADO  COVID  GREVE  \\\n",
       "0                       1           1       0        3      0      0   \n",
       "1                       2           1       0        0      0      0   \n",
       "2                       2           1       0        1      0      0   \n",
       "3                       2           1       0        0      0      0   \n",
       "4                       2           1       0        1      0      0   \n",
       "...                   ...         ...     ...      ...    ...    ...   \n",
       "2378                    1           0       0        0      0     30   \n",
       "2379                    1           0      12        0      0      0   \n",
       "2380                    1           0       0        0      0      0   \n",
       "2381                    1           0       0        0      0      0   \n",
       "2382                    1           0       0        0      0      0   \n",
       "\n",
       "                   CAMPUS        REGIÃO  ORDEM  CLASSE  \n",
       "0     ASSIS CHATEAUBRIAND  REGIÃO OESTE      1       6  \n",
       "1     ASSIS CHATEAUBRIAND  REGIÃO OESTE      2       9  \n",
       "2     ASSIS CHATEAUBRIAND  REGIÃO OESTE      3       8  \n",
       "3     ASSIS CHATEAUBRIAND  REGIÃO OESTE      4       6  \n",
       "4     ASSIS CHATEAUBRIAND  REGIÃO OESTE      5       4  \n",
       "...                   ...           ...    ...     ...  \n",
       "2378     UNIÃO DA VITÓRIA    REGIÃO SUL     81       3  \n",
       "2379     UNIÃO DA VITÓRIA    REGIÃO SUL     82       9  \n",
       "2380     UNIÃO DA VITÓRIA    REGIÃO SUL     83       9  \n",
       "2381     UNIÃO DA VITÓRIA    REGIÃO SUL     84       9  \n",
       "2382     UNIÃO DA VITÓRIA    REGIÃO SUL     85       9  \n",
       "\n",
       "[2383 rows x 90 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CONSUMO</th>\n",
       "      <th>DATA</th>\n",
       "      <th>TEMP_MIN_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MIN_MENS</th>\n",
       "      <th>TEMP_MÉD_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MAX_MENS</th>\n",
       "      <th>TEMP_MÉD_ACC_MENS</th>\n",
       "      <th>TEMP_MAX_MÉD_MENS</th>\n",
       "      <th>PRECIPITAÇÃO_MÉD_MENS</th>\n",
       "      <th>TEMP_MIN_MIN_MENS</th>\n",
       "      <th>...</th>\n",
       "      <th>CURSOS_GRAD_NOTURNO</th>\n",
       "      <th>CURSOS_POS</th>\n",
       "      <th>FÉRIAS</th>\n",
       "      <th>FERIADO</th>\n",
       "      <th>COVID</th>\n",
       "      <th>GREVE</th>\n",
       "      <th>CAMPUS</th>\n",
       "      <th>REGIÃO</th>\n",
       "      <th>ORDEM</th>\n",
       "      <th>CLASSE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.502037</td>\n",
       "      <td>2015-02-28</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>25</td>\n",
       "      <td>27</td>\n",
       "      <td>692</td>\n",
       "      <td>33</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.846886</td>\n",
       "      <td>2015-03-31</td>\n",
       "      <td>12</td>\n",
       "      <td>19</td>\n",
       "      <td>24</td>\n",
       "      <td>26</td>\n",
       "      <td>729</td>\n",
       "      <td>32</td>\n",
       "      <td>2</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>2</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.643078</td>\n",
       "      <td>2015-04-30</td>\n",
       "      <td>13</td>\n",
       "      <td>19</td>\n",
       "      <td>21</td>\n",
       "      <td>24</td>\n",
       "      <td>640</td>\n",
       "      <td>29</td>\n",
       "      <td>6</td>\n",
       "      <td>13</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.530844</td>\n",
       "      <td>2015-05-31</td>\n",
       "      <td>7</td>\n",
       "      <td>11</td>\n",
       "      <td>18</td>\n",
       "      <td>23</td>\n",
       "      <td>557</td>\n",
       "      <td>28</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.384551</td>\n",
       "      <td>2015-06-30</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>542</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>ASSIS CHATEAUBRIAND</td>\n",
       "      <td>REGIÃO OESTE</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2378</th>\n",
       "      <td>0.359224</td>\n",
       "      <td>2024-06-30</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>499</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>81</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2379</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>13</td>\n",
       "      <td>18</td>\n",
       "      <td>413</td>\n",
       "      <td>25</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>82</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2380</th>\n",
       "      <td>0.940871</td>\n",
       "      <td>2024-08-31</td>\n",
       "      <td>-3</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "      <td>21</td>\n",
       "      <td>468</td>\n",
       "      <td>31</td>\n",
       "      <td>1</td>\n",
       "      <td>-3</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>83</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2381</th>\n",
       "      <td>0.788386</td>\n",
       "      <td>2024-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>24</td>\n",
       "      <td>591</td>\n",
       "      <td>34</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>84</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2382</th>\n",
       "      <td>0.865317</td>\n",
       "      <td>2024-10-31</td>\n",
       "      <td>10</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>25</td>\n",
       "      <td>610</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>UNIÃO DA VITÓRIA</td>\n",
       "      <td>REGIÃO SUL</td>\n",
       "      <td>85</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2383 rows × 90 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "## Análise das Classes",
   "id": "4a66c6d120a90d22"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:16:14.725953Z",
     "start_time": "2025-07-28T17:16:01.195772Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def plot_classes(dados, campus, plot_serie=True):\n",
    "    plt.figure(figsize=(18, 5))\n",
    "    plt.rcParams['xtick.labelsize'] = 15\n",
    "    plt.rcParams['ytick.labelsize'] = 15\n",
    "    plt.rcParams.update({'font.size': 15})\n",
    "\n",
    "    for i, (inicio, fim) in enumerate(classes):\n",
    "        plt.fill_between(\n",
    "            dados[\"DATA\"],\n",
    "            inicio,\n",
    "            fim,\n",
    "            alpha=0.65,\n",
    "            label=f\"Classe {i} ({inicio:.5f} - {fim:.5f})\"\n",
    "        )\n",
    "    if plot_serie:\n",
    "        plt.plot(dados[\"DATA\"], dados[\"CONSUMO\"], label=\"Consumo\", color=\"black\")\n",
    "\n",
    "    plt.xlabel('MESES')\n",
    "    plt.ylabel('CONSUMO NORMALIZADO')\n",
    "\n",
    "    ax = plt.gca()\n",
    "    ax.yaxis.set_major_formatter(FuncFormatter(formater_thousands))\n",
    "    ax.set_facecolor('white')\n",
    "    plt.grid(True, color='white', linestyle=\"--\", linewidth=0.75)\n",
    "    plt.legend(facecolor='white', framealpha=0.5, bbox_to_anchor=(1.05, 1))\n",
    "    plt.savefig(f\"./dados/classes/{N_CLASSES} Classes {campus}.png\", bbox_inches='tight')\n",
    "    plt.close()\n",
    "\n",
    "\n",
    "def plot_distribuicao_classes(dados, campus):\n",
    "    distribuicao_classes = dados[\"CLASSE\"].value_counts()\n",
    "\n",
    "    plt.figure(figsize=(12, 6))\n",
    "    bars = plt.bar(distribuicao_classes.index, distribuicao_classes.values, color=\"blue\", alpha=0.8)\n",
    "\n",
    "    for bar in bars:\n",
    "        altura = bar.get_height()\n",
    "        plt.text(bar.get_x() + bar.get_width() / 2, altura / 2, f\"{int(altura)}\",\n",
    "                 ha=\"center\", va=\"center\", fontsize=12, color=\"white\")\n",
    "\n",
    "    plt.xlabel(\"CLASSE\", fontsize=14)\n",
    "    plt.ylabel(\"QUANTIDADE DE DADOS\", fontsize=14)\n",
    "    plt.xticks(df_classes[\"CLASSE\"].unique(), fontsize=12)\n",
    "    plt.yticks(fontsize=12)\n",
    "    plt.grid(axis=\"y\", linestyle=\"--\", alpha=0.7)\n",
    "\n",
    "    plt.savefig(f\"./dados/classes/Distribuição {N_CLASSES} Classes {campus}.png\", bbox_inches=\"tight\")\n",
    "    plt.close()\n",
    "\n",
    "\n",
    "for campus, dados in df_classes.groupby(\"CAMPUS\"):\n",
    "    plot_classes(dados, campus)\n",
    "    plot_distribuicao_classes(dados, campus)\n",
    "\n",
    "plot_classes(df_classes, \"_TODOS\", False)\n",
    "plot_distribuicao_classes(df_classes, \"_TODOS_\")\n",
    "\n"
   ],
   "id": "17ac31b965c72331",
   "outputs": [],
   "execution_count": 7
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# Criação dos Lags\n",
    "## Regressão"
   ],
   "id": "7b434b9520c48421"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:18:16.191858Z",
     "start_time": "2025-07-28T17:18:14.527485Z"
    }
   },
   "cell_type": "code",
   "source": [
    "dataframes = []\n",
    "\n",
    "for campus, dados in df_normalizado.sort_values(\"DATA\").groupby(\"CAMPUS\"):\n",
    "    lags = {f'LAG_{i:02d}': dados['CONSUMO'].shift(i) for i in range(1, 12 + 1)}\n",
    "    dados = pd.concat([dados, pd.DataFrame(lags)], axis=1)\n",
    "    dados = dados.dropna()\n",
    "    dados[\"ORDEM\"] = range(1, len(dados) + 1)\n",
    "    dataframes.append(dados)\n",
    "\n",
    "df_normalizado = pd.concat(dataframes, ignore_index=True)\n",
    "df_normalizado.to_csv(\"./dados/dados_normalizados_lagados.csv\", index=False, sep=\";\", decimal=\".\")\n",
    "df_normalizado"
   ],
   "id": "a7088c358102d169",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       CONSUMO       DATA  TEMP_MIN_MÉD_MENS  TEMP_MÉD_MIN_MENS  \\\n",
       "0     0.615105 2016-02-29                 19                 22   \n",
       "1     0.711047 2016-03-31                 12                 17   \n",
       "2     0.633361 2016-04-30                  4                  9   \n",
       "3     0.406291 2016-05-31                  4                 11   \n",
       "4     0.362467 2016-06-30                 -1                  7   \n",
       "...        ...        ...                ...                ...   \n",
       "2090  0.359224 2024-06-30                  0                  8   \n",
       "2091  1.000000 2024-07-31                  1                  9   \n",
       "2092  0.940871 2024-08-31                 -3                  7   \n",
       "2093  0.788386 2024-09-30                 10                 13   \n",
       "2094  0.865317 2024-10-31                 10                 14   \n",
       "\n",
       "      TEMP_MÉD_MÉD_MENS  TEMP_MÉD_MAX_MENS  TEMP_MÉD_ACC_MENS  \\\n",
       "0                    25                 28                734   \n",
       "1                    22                 28                685   \n",
       "2                    23                 28                702   \n",
       "3                    16                 22                490   \n",
       "4                    14                 20                408   \n",
       "...                 ...                ...                ...   \n",
       "2090                 17                 20                499   \n",
       "2091                 13                 18                413   \n",
       "2092                 15                 21                468   \n",
       "2093                 20                 24                591   \n",
       "2094                 20                 25                610   \n",
       "\n",
       "      TEMP_MAX_MÉD_MENS  PRECIPITAÇÃO_MÉD_MENS  TEMP_MIN_MIN_MENS  ...  \\\n",
       "0                    33                      4                 19  ...   \n",
       "1                    32                      3                 12  ...   \n",
       "2                    33                      2                  4  ...   \n",
       "3                    27                      9                  4  ...   \n",
       "4                    27                      3                 -1  ...   \n",
       "...                 ...                    ...                ...  ...   \n",
       "2090                 26                      1                  0  ...   \n",
       "2091                 25                      6                  1  ...   \n",
       "2092                 31                      1                 -3  ...   \n",
       "2093                 34                      3                 10  ...   \n",
       "2094                 33                      3                 10  ...   \n",
       "\n",
       "        LAG_03    LAG_04    LAG_05    LAG_06    LAG_07    LAG_08    LAG_09  \\\n",
       "0     0.570938  0.553762  0.386907  0.331354  0.302547  0.384551  0.530844   \n",
       "1     0.580507  0.570938  0.553762  0.386907  0.331354  0.302547  0.384551   \n",
       "2     0.424204  0.580507  0.570938  0.553762  0.386907  0.331354  0.302547   \n",
       "3     0.615105  0.424204  0.580507  0.570938  0.553762  0.386907  0.331354   \n",
       "4     0.711047  0.615105  0.424204  0.580507  0.570938  0.553762  0.386907   \n",
       "...        ...       ...       ...       ...       ...       ...       ...   \n",
       "2090  0.990145  0.803327  0.457985  0.822613  0.794744  0.559818  0.747059   \n",
       "2091  0.680301  0.990145  0.803327  0.457985  0.822613  0.794744  0.559818   \n",
       "2092  0.352866  0.680301  0.990145  0.803327  0.457985  0.822613  0.794744   \n",
       "2093  0.359224  0.352866  0.680301  0.990145  0.803327  0.457985  0.822613   \n",
       "2094  1.000000  0.359224  0.352866  0.680301  0.990145  0.803327  0.457985   \n",
       "\n",
       "        LAG_10    LAG_11    LAG_12  \n",
       "0     0.643078  0.846886  0.502037  \n",
       "1     0.530844  0.643078  0.846886  \n",
       "2     0.384551  0.530844  0.643078  \n",
       "3     0.302547  0.384551  0.530844  \n",
       "4     0.331354  0.302547  0.384551  \n",
       "...        ...       ...       ...  \n",
       "2090  0.839038  0.553248  0.743880  \n",
       "2091  0.747059  0.839038  0.553248  \n",
       "2092  0.559818  0.747059  0.839038  \n",
       "2093  0.794744  0.559818  0.747059  \n",
       "2094  0.822613  0.794744  0.559818  \n",
       "\n",
       "[2095 rows x 101 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CONSUMO</th>\n",
       "      <th>DATA</th>\n",
       "      <th>TEMP_MIN_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MIN_MENS</th>\n",
       "      <th>TEMP_MÉD_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MAX_MENS</th>\n",
       "      <th>TEMP_MÉD_ACC_MENS</th>\n",
       "      <th>TEMP_MAX_MÉD_MENS</th>\n",
       "      <th>PRECIPITAÇÃO_MÉD_MENS</th>\n",
       "      <th>TEMP_MIN_MIN_MENS</th>\n",
       "      <th>...</th>\n",
       "      <th>LAG_03</th>\n",
       "      <th>LAG_04</th>\n",
       "      <th>LAG_05</th>\n",
       "      <th>LAG_06</th>\n",
       "      <th>LAG_07</th>\n",
       "      <th>LAG_08</th>\n",
       "      <th>LAG_09</th>\n",
       "      <th>LAG_10</th>\n",
       "      <th>LAG_11</th>\n",
       "      <th>LAG_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.615105</td>\n",
       "      <td>2016-02-29</td>\n",
       "      <td>19</td>\n",
       "      <td>22</td>\n",
       "      <td>25</td>\n",
       "      <td>28</td>\n",
       "      <td>734</td>\n",
       "      <td>33</td>\n",
       "      <td>4</td>\n",
       "      <td>19</td>\n",
       "      <td>...</td>\n",
       "      <td>0.570938</td>\n",
       "      <td>0.553762</td>\n",
       "      <td>0.386907</td>\n",
       "      <td>0.331354</td>\n",
       "      <td>0.302547</td>\n",
       "      <td>0.384551</td>\n",
       "      <td>0.530844</td>\n",
       "      <td>0.643078</td>\n",
       "      <td>0.846886</td>\n",
       "      <td>0.502037</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.711047</td>\n",
       "      <td>2016-03-31</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>22</td>\n",
       "      <td>28</td>\n",
       "      <td>685</td>\n",
       "      <td>32</td>\n",
       "      <td>3</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0.580507</td>\n",
       "      <td>0.570938</td>\n",
       "      <td>0.553762</td>\n",
       "      <td>0.386907</td>\n",
       "      <td>0.331354</td>\n",
       "      <td>0.302547</td>\n",
       "      <td>0.384551</td>\n",
       "      <td>0.530844</td>\n",
       "      <td>0.643078</td>\n",
       "      <td>0.846886</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.633361</td>\n",
       "      <td>2016-04-30</td>\n",
       "      <td>4</td>\n",
       "      <td>9</td>\n",
       "      <td>23</td>\n",
       "      <td>28</td>\n",
       "      <td>702</td>\n",
       "      <td>33</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0.424204</td>\n",
       "      <td>0.580507</td>\n",
       "      <td>0.570938</td>\n",
       "      <td>0.553762</td>\n",
       "      <td>0.386907</td>\n",
       "      <td>0.331354</td>\n",
       "      <td>0.302547</td>\n",
       "      <td>0.384551</td>\n",
       "      <td>0.530844</td>\n",
       "      <td>0.643078</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.406291</td>\n",
       "      <td>2016-05-31</td>\n",
       "      <td>4</td>\n",
       "      <td>11</td>\n",
       "      <td>16</td>\n",
       "      <td>22</td>\n",
       "      <td>490</td>\n",
       "      <td>27</td>\n",
       "      <td>9</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0.615105</td>\n",
       "      <td>0.424204</td>\n",
       "      <td>0.580507</td>\n",
       "      <td>0.570938</td>\n",
       "      <td>0.553762</td>\n",
       "      <td>0.386907</td>\n",
       "      <td>0.331354</td>\n",
       "      <td>0.302547</td>\n",
       "      <td>0.384551</td>\n",
       "      <td>0.530844</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.362467</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>-1</td>\n",
       "      <td>7</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>408</td>\n",
       "      <td>27</td>\n",
       "      <td>3</td>\n",
       "      <td>-1</td>\n",
       "      <td>...</td>\n",
       "      <td>0.711047</td>\n",
       "      <td>0.615105</td>\n",
       "      <td>0.424204</td>\n",
       "      <td>0.580507</td>\n",
       "      <td>0.570938</td>\n",
       "      <td>0.553762</td>\n",
       "      <td>0.386907</td>\n",
       "      <td>0.331354</td>\n",
       "      <td>0.302547</td>\n",
       "      <td>0.384551</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2090</th>\n",
       "      <td>0.359224</td>\n",
       "      <td>2024-06-30</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>499</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.990145</td>\n",
       "      <td>0.803327</td>\n",
       "      <td>0.457985</td>\n",
       "      <td>0.822613</td>\n",
       "      <td>0.794744</td>\n",
       "      <td>0.559818</td>\n",
       "      <td>0.747059</td>\n",
       "      <td>0.839038</td>\n",
       "      <td>0.553248</td>\n",
       "      <td>0.743880</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2091</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>13</td>\n",
       "      <td>18</td>\n",
       "      <td>413</td>\n",
       "      <td>25</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0.680301</td>\n",
       "      <td>0.990145</td>\n",
       "      <td>0.803327</td>\n",
       "      <td>0.457985</td>\n",
       "      <td>0.822613</td>\n",
       "      <td>0.794744</td>\n",
       "      <td>0.559818</td>\n",
       "      <td>0.747059</td>\n",
       "      <td>0.839038</td>\n",
       "      <td>0.553248</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2092</th>\n",
       "      <td>0.940871</td>\n",
       "      <td>2024-08-31</td>\n",
       "      <td>-3</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "      <td>21</td>\n",
       "      <td>468</td>\n",
       "      <td>31</td>\n",
       "      <td>1</td>\n",
       "      <td>-3</td>\n",
       "      <td>...</td>\n",
       "      <td>0.352866</td>\n",
       "      <td>0.680301</td>\n",
       "      <td>0.990145</td>\n",
       "      <td>0.803327</td>\n",
       "      <td>0.457985</td>\n",
       "      <td>0.822613</td>\n",
       "      <td>0.794744</td>\n",
       "      <td>0.559818</td>\n",
       "      <td>0.747059</td>\n",
       "      <td>0.839038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2093</th>\n",
       "      <td>0.788386</td>\n",
       "      <td>2024-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>24</td>\n",
       "      <td>591</td>\n",
       "      <td>34</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.359224</td>\n",
       "      <td>0.352866</td>\n",
       "      <td>0.680301</td>\n",
       "      <td>0.990145</td>\n",
       "      <td>0.803327</td>\n",
       "      <td>0.457985</td>\n",
       "      <td>0.822613</td>\n",
       "      <td>0.794744</td>\n",
       "      <td>0.559818</td>\n",
       "      <td>0.747059</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2094</th>\n",
       "      <td>0.865317</td>\n",
       "      <td>2024-10-31</td>\n",
       "      <td>10</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>25</td>\n",
       "      <td>610</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.359224</td>\n",
       "      <td>0.352866</td>\n",
       "      <td>0.680301</td>\n",
       "      <td>0.990145</td>\n",
       "      <td>0.803327</td>\n",
       "      <td>0.457985</td>\n",
       "      <td>0.822613</td>\n",
       "      <td>0.794744</td>\n",
       "      <td>0.559818</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2095 rows × 101 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 8
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "## Classificação",
   "id": "c3dd14a56c48da38"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T17:18:16.525673Z",
     "start_time": "2025-07-28T17:18:16.322986Z"
    }
   },
   "cell_type": "code",
   "source": [
    "dataframes = []\n",
    "\n",
    "for campus, dados in df_classes.sort_values(\"DATA\").groupby(\"CAMPUS\"):\n",
    "    lags = {f'LAG_{i:02d}': dados['CLASSE'].shift(i) for i in range(1, 12 + 1)}\n",
    "    dados = pd.concat([dados, pd.DataFrame(lags)], axis=1)\n",
    "    dados = dados.dropna()\n",
    "    dados[list(lags.keys())] = dados[list(lags.keys())].astype(int)  # Converte os lags para int\n",
    "    dados[\"ORDEM\"] = range(1, len(dados) + 1)\n",
    "    dataframes.append(dados)\n",
    "\n",
    "df_classes = pd.concat(dataframes, ignore_index=True)\n",
    "df_classes.to_csv(f\"./dados/{N_CLASSES}_classes_normalizadas_lagadas.csv\", index=False, sep=\";\", decimal=\".\")\n",
    "\n",
    "df_classes"
   ],
   "id": "32f48cf34416b276",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       CONSUMO       DATA  TEMP_MIN_MÉD_MENS  TEMP_MÉD_MIN_MENS  \\\n",
       "0     0.615105 2016-02-29                 19                 22   \n",
       "1     0.711047 2016-03-31                 12                 17   \n",
       "2     0.633361 2016-04-30                  4                  9   \n",
       "3     0.406291 2016-05-31                  4                 11   \n",
       "4     0.362467 2016-06-30                 -1                  7   \n",
       "...        ...        ...                ...                ...   \n",
       "2090  0.359224 2024-06-30                  0                  8   \n",
       "2091  1.000000 2024-07-31                  1                  9   \n",
       "2092  0.940871 2024-08-31                 -3                  7   \n",
       "2093  0.788386 2024-09-30                 10                 13   \n",
       "2094  0.865317 2024-10-31                 10                 14   \n",
       "\n",
       "      TEMP_MÉD_MÉD_MENS  TEMP_MÉD_MAX_MENS  TEMP_MÉD_ACC_MENS  \\\n",
       "0                    25                 28                734   \n",
       "1                    22                 28                685   \n",
       "2                    23                 28                702   \n",
       "3                    16                 22                490   \n",
       "4                    14                 20                408   \n",
       "...                 ...                ...                ...   \n",
       "2090                 17                 20                499   \n",
       "2091                 13                 18                413   \n",
       "2092                 15                 21                468   \n",
       "2093                 20                 24                591   \n",
       "2094                 20                 25                610   \n",
       "\n",
       "      TEMP_MAX_MÉD_MENS  PRECIPITAÇÃO_MÉD_MENS  TEMP_MIN_MIN_MENS  ...  \\\n",
       "0                    33                      4                 19  ...   \n",
       "1                    32                      3                 12  ...   \n",
       "2                    33                      2                  4  ...   \n",
       "3                    27                      9                  4  ...   \n",
       "4                    27                      3                 -1  ...   \n",
       "...                 ...                    ...                ...  ...   \n",
       "2090                 26                      1                  0  ...   \n",
       "2091                 25                      6                  1  ...   \n",
       "2092                 31                      1                 -3  ...   \n",
       "2093                 34                      3                 10  ...   \n",
       "2094                 33                      3                 10  ...   \n",
       "\n",
       "      LAG_03  LAG_04  LAG_05  LAG_06  LAG_07  LAG_08  LAG_09  LAG_10  LAG_11  \\\n",
       "0          7       7       4       3       3       4       6       8       9   \n",
       "1          7       7       7       4       3       3       4       6       8   \n",
       "2          4       7       7       7       4       3       3       4       6   \n",
       "3          7       4       7       7       7       4       3       3       4   \n",
       "4          8       7       4       7       7       7       4       3       3   \n",
       "...      ...     ...     ...     ...     ...     ...     ...     ...     ...   \n",
       "2090       9       9       5       9       9       7       8       9       7   \n",
       "2091       8       9       9       5       9       9       7       8       9   \n",
       "2092       3       8       9       9       5       9       9       7       8   \n",
       "2093       3       3       8       9       9       5       9       9       7   \n",
       "2094       9       3       3       8       9       9       5       9       9   \n",
       "\n",
       "      LAG_12  \n",
       "0          6  \n",
       "1          9  \n",
       "2          8  \n",
       "3          6  \n",
       "4          4  \n",
       "...      ...  \n",
       "2090       8  \n",
       "2091       7  \n",
       "2092       9  \n",
       "2093       8  \n",
       "2094       7  \n",
       "\n",
       "[2095 rows x 102 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CONSUMO</th>\n",
       "      <th>DATA</th>\n",
       "      <th>TEMP_MIN_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MIN_MENS</th>\n",
       "      <th>TEMP_MÉD_MÉD_MENS</th>\n",
       "      <th>TEMP_MÉD_MAX_MENS</th>\n",
       "      <th>TEMP_MÉD_ACC_MENS</th>\n",
       "      <th>TEMP_MAX_MÉD_MENS</th>\n",
       "      <th>PRECIPITAÇÃO_MÉD_MENS</th>\n",
       "      <th>TEMP_MIN_MIN_MENS</th>\n",
       "      <th>...</th>\n",
       "      <th>LAG_03</th>\n",
       "      <th>LAG_04</th>\n",
       "      <th>LAG_05</th>\n",
       "      <th>LAG_06</th>\n",
       "      <th>LAG_07</th>\n",
       "      <th>LAG_08</th>\n",
       "      <th>LAG_09</th>\n",
       "      <th>LAG_10</th>\n",
       "      <th>LAG_11</th>\n",
       "      <th>LAG_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.615105</td>\n",
       "      <td>2016-02-29</td>\n",
       "      <td>19</td>\n",
       "      <td>22</td>\n",
       "      <td>25</td>\n",
       "      <td>28</td>\n",
       "      <td>734</td>\n",
       "      <td>33</td>\n",
       "      <td>4</td>\n",
       "      <td>19</td>\n",
       "      <td>...</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.711047</td>\n",
       "      <td>2016-03-31</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>22</td>\n",
       "      <td>28</td>\n",
       "      <td>685</td>\n",
       "      <td>32</td>\n",
       "      <td>3</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.633361</td>\n",
       "      <td>2016-04-30</td>\n",
       "      <td>4</td>\n",
       "      <td>9</td>\n",
       "      <td>23</td>\n",
       "      <td>28</td>\n",
       "      <td>702</td>\n",
       "      <td>33</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.406291</td>\n",
       "      <td>2016-05-31</td>\n",
       "      <td>4</td>\n",
       "      <td>11</td>\n",
       "      <td>16</td>\n",
       "      <td>22</td>\n",
       "      <td>490</td>\n",
       "      <td>27</td>\n",
       "      <td>9</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.362467</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>-1</td>\n",
       "      <td>7</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>408</td>\n",
       "      <td>27</td>\n",
       "      <td>3</td>\n",
       "      <td>-1</td>\n",
       "      <td>...</td>\n",
       "      <td>8</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2090</th>\n",
       "      <td>0.359224</td>\n",
       "      <td>2024-06-30</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>499</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2091</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>13</td>\n",
       "      <td>18</td>\n",
       "      <td>413</td>\n",
       "      <td>25</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2092</th>\n",
       "      <td>0.940871</td>\n",
       "      <td>2024-08-31</td>\n",
       "      <td>-3</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "      <td>21</td>\n",
       "      <td>468</td>\n",
       "      <td>31</td>\n",
       "      <td>1</td>\n",
       "      <td>-3</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2093</th>\n",
       "      <td>0.788386</td>\n",
       "      <td>2024-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>24</td>\n",
       "      <td>591</td>\n",
       "      <td>34</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2094</th>\n",
       "      <td>0.865317</td>\n",
       "      <td>2024-10-31</td>\n",
       "      <td>10</td>\n",
       "      <td>14</td>\n",
       "      <td>20</td>\n",
       "      <td>25</td>\n",
       "      <td>610</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>9</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2095 rows × 102 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Importância das Features",
   "id": "b7b8a54f22440490"
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "shap.initjs()\n",
    "\n",
    "def calcular_importancia(dados):\n",
    "    x = dados.drop(columns=[\"CONSUMO\", \"DATA\", \"CAMPUS\", \"REGIÃO\"])\n",
    "    y = dados[\"CONSUMO\"]\n",
    "\n",
    "    rf = RF(random_state=SEED)\n",
    "    rf.fit(x, y)\n",
    "\n",
    "    explainer_rf = shap.explainers.TreeExplainer(rf)\n",
    "\n",
    "    shap_rf = explainer_rf(x)\n",
    "    importancia = pd.DataFrame(list(zip(x.columns, np.abs(shap_rf.values).mean(0))), columns=[\"FEATURE\", \"IMPORTÂNCIA\"])\n",
    "    importancia[\"IMPORTÂNCIA\"] = importancia[\"IMPORTÂNCIA\"].round(15)\n",
    "    importancia = importancia.sort_values(by=\"FEATURE\")\n",
    "    importancia = importancia.set_index(\"FEATURE\")\n",
    "    return importancia\n",
    "\n",
    "\n",
    "# Calcula a importância individual de cada campus\n",
    "importancias = pd.DataFrame(index=pd.Index(df_normalizado.drop(columns=[\"CONSUMO\", \"DATA\", \"CAMPUS\", \"REGIÃO\"]).columns, name=\"FEATURE\"))\n",
    "for campus, dados in df_normalizado.groupby(\"CAMPUS\"):\n",
    "    importancias[[campus]] = calcular_importancia(dados)[[\"IMPORTÂNCIA\"]]\n",
    "\n",
    "# Calcula a importância geral de todos os campus\n",
    "importancias[[\"_TODOS_\"]] = calcular_importancia(df_normalizado)[[\"IMPORTÂNCIA\"]]\n",
    "\n",
    "# Calcula a média das importâncias\n",
    "importancias[\"MÉDIA\"] = importancias.mean(axis=1)\n",
    "importancias = importancias.sort_values(by=[\"MÉDIA\"], ascending=False)\n",
    "importancias.to_csv(\"./resultados/features/importancia_regressao.csv\", index=True, sep=\";\", decimal=\".\")\n",
    "\n",
    "importancias"
   ],
   "id": "b1f8b3cd048a5240",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Remoção de Features",
   "id": "947d7e66c4230013"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-05T20:44:30.303829Z",
     "start_time": "2025-07-05T20:26:32.205900Z"
    }
   },
   "cell_type": "code",
   "source": [
    "importancias = pd.read_csv(\"./resultados/features/importancia_regressao.csv\", sep=\";\", decimal=\".\", header=0)\n",
    "\n",
    "features_selecao = importancias.copy()\n",
    "features_selecao['PERCENTUAL'] = features_selecao['MÉDIA'] / features_selecao['MÉDIA'].sum()\n",
    "\n",
    "# Remove as features com importância 0\n",
    "features_selecao = features_selecao[features_selecao[\"PERCENTUAL\"] > 0]\n",
    "\n",
    "# Seleciona as features com importância percentual menor que 1% para serem sorteadas\n",
    "features_sorteio = features_selecao[features_selecao[\"PERCENTUAL\"] < 0.01].copy()\n",
    "\n",
    "features_sorteio[\"PERCENTUAL\"] = 1 - features_sorteio[\"PERCENTUAL\"]\n",
    "features_sorteio[\"PROBABILIDADE\"] = features_sorteio[\"PERCENTUAL\"] / features_sorteio[\"PERCENTUAL\"].sum()\n",
    "\n",
    "fitness_regressao = {}\n",
    "\n",
    "for seed in SEEDS:\n",
    "    reset_seed(seed)\n",
    "    for i in range(0, 100):\n",
    "        print(f\"SEED: {seed} - Iter {i}\")\n",
    "        rf = RF(random_state=SEED)\n",
    "\n",
    "        # Remove features com menor importância\n",
    "        opt_features = np.random.choice(\n",
    "            features_sorteio['FEATURE'],\n",
    "            size=np.random.randint(int(len(features_sorteio)/2), len(features_sorteio)), # Seleciona um número aleatório de features\n",
    "            replace=False, # Impede a repetição de features na seleção\n",
    "            p=features_sorteio['PROBABILIDADE']\n",
    "        ).tolist() + [\"CONSUMO\", \"DATA\", \"CAMPUS\", \"REGIÃO\"]\n",
    "\n",
    "        # Treinamento com apenas o campus com a maior quantidade de dados\n",
    "        dataset_treino = df_normalizado[df_normalizado[\"CAMPUS\"] == CAMPUS_TREINO]\n",
    "        cvs = []\n",
    "        for i_treino, i_teste in TimeSeriesSplit(n_splits=K_FOLDS, test_size=1).split(dataset_treino):\n",
    "            x_treino = df_normalizado.drop(columns=opt_features).iloc[i_treino]\n",
    "            y_treino = df_normalizado[\"CONSUMO\"].iloc[i_treino]\n",
    "            # Teste com os dados de todos os campus\n",
    "            data_teste = dataset_treino.iloc[i_teste][\"DATA\"].values[0]\n",
    "            df_teste = df_normalizado.loc[df_normalizado[\"DATA\"] == data_teste]\n",
    "            x_teste = df_teste.drop(columns=opt_features)\n",
    "            y_teste = df_teste[\"CONSUMO\"]\n",
    "\n",
    "            y_previsto = []\n",
    "            rf.fit(x_treino, y_treino)\n",
    "            for _, row in x_teste.iterrows():\n",
    "                previsao = rf.predict(pd.DataFrame([row.values], columns=x_teste.columns))[0]\n",
    "                y_previsto.append(previsao)\n",
    "            erros = calcular_rrmse(y_teste, y_previsto)\n",
    "            cvs.append(erros.mean())\n",
    "\n",
    "        print(\"RRMSE:\", np.array(cvs).mean())\n",
    "        fitness_regressao[tuple(dataset_treino.drop(columns=opt_features).columns.to_list())] = np.array(cvs).mean().round(5)\n",
    "\n",
    "fitness_regressao = pd.DataFrame(list(fitness_regressao.items()), columns=[\"FEATURES\", \"RRMSE\"])\n",
    "fitness_regressao.to_csv(\"./resultados/features/fitness_features_regressao.csv\", index=False, sep=\";\", decimal=\".\")\n",
    "fitness_regressao"
   ],
   "id": "3e0e9cf79d38d3e4",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SEED: 1000 - Iter 0\n",
      "RRMSE: 0.35920811347261195\n",
      "SEED: 1000 - Iter 1\n",
      "RRMSE: 0.3628986321942949\n",
      "SEED: 1000 - Iter 2\n",
      "RRMSE: 0.3667823433422729\n",
      "SEED: 1000 - Iter 3\n",
      "RRMSE: 0.3651061454139495\n",
      "SEED: 1000 - Iter 4\n",
      "RRMSE: 0.3589200505156557\n",
      "SEED: 1000 - Iter 5\n",
      "RRMSE: 0.3614157311111169\n",
      "SEED: 1000 - Iter 6\n",
      "RRMSE: 0.3612832395487323\n",
      "SEED: 1000 - Iter 7\n",
      "RRMSE: 0.3615181981640747\n",
      "SEED: 1000 - Iter 8\n",
      "RRMSE: 0.36613843762069254\n",
      "SEED: 1000 - Iter 9\n",
      "RRMSE: 0.35862503449491767\n",
      "SEED: 1000 - Iter 10\n",
      "RRMSE: 0.3579562422624928\n",
      "SEED: 1000 - Iter 11\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 1000 - Iter 12\n",
      "RRMSE: 0.35445660687395475\n",
      "SEED: 1000 - Iter 13\n",
      "RRMSE: 0.3671717652499816\n",
      "SEED: 1000 - Iter 14\n",
      "RRMSE: 0.36681644158675963\n",
      "SEED: 1000 - Iter 15\n",
      "RRMSE: 0.36131762476322177\n",
      "SEED: 1000 - Iter 16\n",
      "RRMSE: 0.36271977636829567\n",
      "SEED: 1000 - Iter 17\n",
      "RRMSE: 0.36310350675629277\n",
      "SEED: 1000 - Iter 18\n",
      "RRMSE: 0.361148021652012\n",
      "SEED: 1000 - Iter 19\n",
      "RRMSE: 0.35649197289602974\n",
      "SEED: 1000 - Iter 20\n",
      "RRMSE: 0.3639422019455464\n",
      "SEED: 1000 - Iter 21\n",
      "RRMSE: 0.36836312429757145\n",
      "SEED: 1000 - Iter 22\n",
      "RRMSE: 0.35620590562933846\n",
      "SEED: 1000 - Iter 23\n",
      "RRMSE: 0.35533980299661505\n",
      "SEED: 1000 - Iter 24\n",
      "RRMSE: 0.37204173200182244\n",
      "SEED: 1000 - Iter 25\n",
      "RRMSE: 0.3636802688028122\n",
      "SEED: 1000 - Iter 26\n",
      "RRMSE: 0.35727184182466765\n",
      "SEED: 1000 - Iter 27\n",
      "RRMSE: 0.35727526808914833\n",
      "SEED: 1000 - Iter 28\n",
      "RRMSE: 0.37022730821708116\n",
      "SEED: 1000 - Iter 29\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 1000 - Iter 30\n",
      "RRMSE: 0.35768472328719125\n",
      "SEED: 1000 - Iter 31\n",
      "RRMSE: 0.36684543363354694\n",
      "SEED: 1000 - Iter 32\n",
      "RRMSE: 0.36433534316253074\n",
      "SEED: 1000 - Iter 33\n",
      "RRMSE: 0.35656693244158927\n",
      "SEED: 1000 - Iter 34\n",
      "RRMSE: 0.3622533638629339\n",
      "SEED: 1000 - Iter 35\n",
      "RRMSE: 0.3587651616807721\n",
      "SEED: 1000 - Iter 36\n",
      "RRMSE: 0.3632836147655115\n",
      "SEED: 1000 - Iter 37\n",
      "RRMSE: 0.36262924398868734\n",
      "SEED: 1000 - Iter 38\n",
      "RRMSE: 0.36627458349699843\n",
      "SEED: 1000 - Iter 39\n",
      "RRMSE: 0.36196792114419885\n",
      "SEED: 1000 - Iter 40\n",
      "RRMSE: 0.3722530193389214\n",
      "SEED: 1000 - Iter 41\n",
      "RRMSE: 0.3571243457548243\n",
      "SEED: 1000 - Iter 42\n",
      "RRMSE: 0.37560494051870574\n",
      "SEED: 1000 - Iter 43\n",
      "RRMSE: 0.37335496469762064\n",
      "SEED: 1000 - Iter 44\n",
      "RRMSE: 0.36976255299365324\n",
      "SEED: 1000 - Iter 45\n",
      "RRMSE: 0.3605747486635565\n",
      "SEED: 1000 - Iter 46\n",
      "RRMSE: 0.36816606264754853\n",
      "SEED: 1000 - Iter 47\n",
      "RRMSE: 0.3676956898875475\n",
      "SEED: 1000 - Iter 48\n",
      "RRMSE: 0.36669552346223544\n",
      "SEED: 1000 - Iter 49\n",
      "RRMSE: 0.36417277596779546\n",
      "SEED: 1000 - Iter 50\n",
      "RRMSE: 0.3595992553714813\n",
      "SEED: 1000 - Iter 51\n",
      "RRMSE: 0.35459919961584796\n",
      "SEED: 1000 - Iter 52\n",
      "RRMSE: 0.3622056364821458\n",
      "SEED: 1000 - Iter 53\n",
      "RRMSE: 0.36576094684741445\n",
      "SEED: 1000 - Iter 54\n",
      "RRMSE: 0.36105499791109963\n",
      "SEED: 1000 - Iter 55\n",
      "RRMSE: 0.3608197140040755\n",
      "SEED: 1000 - Iter 56\n",
      "RRMSE: 0.36483526419937273\n",
      "SEED: 1000 - Iter 57\n",
      "RRMSE: 0.3598030139826289\n",
      "SEED: 1000 - Iter 58\n",
      "RRMSE: 0.3633131359320295\n",
      "SEED: 1000 - Iter 59\n",
      "RRMSE: 0.3574377121687284\n",
      "SEED: 1000 - Iter 60\n",
      "RRMSE: 0.3673720469045635\n",
      "SEED: 1000 - Iter 61\n",
      "RRMSE: 0.36869016238335955\n",
      "SEED: 1000 - Iter 62\n",
      "RRMSE: 0.3623341048594805\n",
      "SEED: 1000 - Iter 63\n",
      "RRMSE: 0.36153143491050954\n",
      "SEED: 1000 - Iter 64\n",
      "RRMSE: 0.36729798393972457\n",
      "SEED: 1000 - Iter 65\n",
      "RRMSE: 0.36204548754510096\n",
      "SEED: 1000 - Iter 66\n",
      "RRMSE: 0.36073264093503127\n",
      "SEED: 1000 - Iter 67\n",
      "RRMSE: 0.3646028459705005\n",
      "SEED: 1000 - Iter 68\n",
      "RRMSE: 0.3651278191410571\n",
      "SEED: 1000 - Iter 69\n",
      "RRMSE: 0.35610165467837596\n",
      "SEED: 1000 - Iter 70\n",
      "RRMSE: 0.3601361415789881\n",
      "SEED: 1000 - Iter 71\n",
      "RRMSE: 0.365190167555895\n",
      "SEED: 1000 - Iter 72\n",
      "RRMSE: 0.36409703302358487\n",
      "SEED: 1000 - Iter 73\n",
      "RRMSE: 0.35977422987155594\n",
      "SEED: 1000 - Iter 74\n",
      "RRMSE: 0.3638356095876673\n",
      "SEED: 1000 - Iter 75\n",
      "RRMSE: 0.35666557134548277\n",
      "SEED: 1000 - Iter 76\n",
      "RRMSE: 0.3696532474288292\n",
      "SEED: 1000 - Iter 77\n",
      "RRMSE: 0.3631888641164174\n",
      "SEED: 1000 - Iter 78\n",
      "RRMSE: 0.37103455505484456\n",
      "SEED: 1000 - Iter 79\n",
      "RRMSE: 0.36188225349670333\n",
      "SEED: 1000 - Iter 80\n",
      "RRMSE: 0.3571838088502002\n",
      "SEED: 1000 - Iter 81\n",
      "RRMSE: 0.3659844397804485\n",
      "SEED: 1000 - Iter 82\n",
      "RRMSE: 0.35830713295035593\n",
      "SEED: 1000 - Iter 83\n",
      "RRMSE: 0.3548784695729696\n",
      "SEED: 1000 - Iter 84\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 1000 - Iter 85\n",
      "RRMSE: 0.3589098762979881\n",
      "SEED: 1000 - Iter 86\n",
      "RRMSE: 0.3626337721513688\n",
      "SEED: 1000 - Iter 87\n",
      "RRMSE: 0.3678376396789657\n",
      "SEED: 1000 - Iter 88\n",
      "RRMSE: 0.3608024727052651\n",
      "SEED: 1000 - Iter 89\n",
      "RRMSE: 0.3659887183495586\n",
      "SEED: 1000 - Iter 90\n",
      "RRMSE: 0.36384033753356876\n",
      "SEED: 1000 - Iter 91\n",
      "RRMSE: 0.3626752190776807\n",
      "SEED: 1000 - Iter 92\n",
      "RRMSE: 0.36667322190799506\n",
      "SEED: 1000 - Iter 93\n",
      "RRMSE: 0.3622696986727707\n",
      "SEED: 1000 - Iter 94\n",
      "RRMSE: 0.357371747468585\n",
      "SEED: 1000 - Iter 95\n",
      "RRMSE: 0.3529113801429136\n",
      "SEED: 1000 - Iter 96\n",
      "RRMSE: 0.36376263049304114\n",
      "SEED: 1000 - Iter 97\n",
      "RRMSE: 0.3726386609681761\n",
      "SEED: 1000 - Iter 98\n",
      "RRMSE: 0.35983747902198715\n",
      "SEED: 1000 - Iter 99\n",
      "RRMSE: 0.361502926625841\n",
      "SEED: 2000 - Iter 0\n",
      "RRMSE: 0.364702125073337\n",
      "SEED: 2000 - Iter 1\n",
      "RRMSE: 0.3694740227247683\n",
      "SEED: 2000 - Iter 2\n",
      "RRMSE: 0.3637339463635863\n",
      "SEED: 2000 - Iter 3\n",
      "RRMSE: 0.3613313858643233\n",
      "SEED: 2000 - Iter 4\n",
      "RRMSE: 0.36814584004389395\n",
      "SEED: 2000 - Iter 5\n",
      "RRMSE: 0.36781526159030253\n",
      "SEED: 2000 - Iter 6\n",
      "RRMSE: 0.36124697614739953\n",
      "SEED: 2000 - Iter 7\n",
      "RRMSE: 0.3629155776973779\n",
      "SEED: 2000 - Iter 8\n",
      "RRMSE: 0.3685101237883479\n",
      "SEED: 2000 - Iter 9\n",
      "RRMSE: 0.36355616132601964\n",
      "SEED: 2000 - Iter 10\n",
      "RRMSE: 0.36449942230583654\n",
      "SEED: 2000 - Iter 11\n",
      "RRMSE: 0.36347822672651126\n",
      "SEED: 2000 - Iter 12\n",
      "RRMSE: 0.37492310582383837\n",
      "SEED: 2000 - Iter 13\n",
      "RRMSE: 0.3618431852516956\n",
      "SEED: 2000 - Iter 14\n",
      "RRMSE: 0.37717755132324626\n",
      "SEED: 2000 - Iter 15\n",
      "RRMSE: 0.361862391273082\n",
      "SEED: 2000 - Iter 16\n",
      "RRMSE: 0.3617203413281157\n",
      "SEED: 2000 - Iter 17\n",
      "RRMSE: 0.3691440076558652\n",
      "SEED: 2000 - Iter 18\n",
      "RRMSE: 0.360599623031605\n",
      "SEED: 2000 - Iter 19\n",
      "RRMSE: 0.3673082192672375\n",
      "SEED: 2000 - Iter 20\n",
      "RRMSE: 0.3691431273149266\n",
      "SEED: 2000 - Iter 21\n",
      "RRMSE: 0.36716815842203954\n",
      "SEED: 2000 - Iter 22\n",
      "RRMSE: 0.36454246553075575\n",
      "SEED: 2000 - Iter 23\n",
      "RRMSE: 0.36256306529187277\n",
      "SEED: 2000 - Iter 24\n",
      "RRMSE: 0.36887629713846143\n",
      "SEED: 2000 - Iter 25\n",
      "RRMSE: 0.35998896071732983\n",
      "SEED: 2000 - Iter 26\n",
      "RRMSE: 0.36358687189106276\n",
      "SEED: 2000 - Iter 27\n",
      "RRMSE: 0.3606039820066102\n",
      "SEED: 2000 - Iter 28\n",
      "RRMSE: 0.36618030811586827\n",
      "SEED: 2000 - Iter 29\n",
      "RRMSE: 0.3633126169526645\n",
      "SEED: 2000 - Iter 30\n",
      "RRMSE: 0.3589630140783744\n",
      "SEED: 2000 - Iter 31\n",
      "RRMSE: 0.3685313016675347\n",
      "SEED: 2000 - Iter 32\n",
      "RRMSE: 0.36041364456328784\n",
      "SEED: 2000 - Iter 33\n",
      "RRMSE: 0.35964001431821846\n",
      "SEED: 2000 - Iter 34\n",
      "RRMSE: 0.3606681571968454\n",
      "SEED: 2000 - Iter 35\n",
      "RRMSE: 0.36997988581327923\n",
      "SEED: 2000 - Iter 36\n",
      "RRMSE: 0.36230157112856104\n",
      "SEED: 2000 - Iter 37\n",
      "RRMSE: 0.36517501143871434\n",
      "SEED: 2000 - Iter 38\n",
      "RRMSE: 0.3671030002150477\n",
      "SEED: 2000 - Iter 39\n",
      "RRMSE: 0.3629737346789592\n",
      "SEED: 2000 - Iter 40\n",
      "RRMSE: 0.3657088851910753\n",
      "SEED: 2000 - Iter 41\n",
      "RRMSE: 0.35919547905426885\n",
      "SEED: 2000 - Iter 42\n",
      "RRMSE: 0.3605491864847503\n",
      "SEED: 2000 - Iter 43\n",
      "RRMSE: 0.36781947447182495\n",
      "SEED: 2000 - Iter 44\n",
      "RRMSE: 0.36455826914635964\n",
      "SEED: 2000 - Iter 45\n",
      "RRMSE: 0.36702519145178875\n",
      "SEED: 2000 - Iter 46\n",
      "RRMSE: 0.364817143501199\n",
      "SEED: 2000 - Iter 47\n",
      "RRMSE: 0.36636107137115664\n",
      "SEED: 2000 - Iter 48\n",
      "RRMSE: 0.3575729673264318\n",
      "SEED: 2000 - Iter 49\n",
      "RRMSE: 0.36161665920447117\n",
      "SEED: 2000 - Iter 50\n",
      "RRMSE: 0.36572068840220645\n",
      "SEED: 2000 - Iter 51\n",
      "RRMSE: 0.362899042926141\n",
      "SEED: 2000 - Iter 52\n",
      "RRMSE: 0.3732202905723596\n",
      "SEED: 2000 - Iter 53\n",
      "RRMSE: 0.3576718163519012\n",
      "SEED: 2000 - Iter 54\n",
      "RRMSE: 0.35532672303405655\n",
      "SEED: 2000 - Iter 55\n",
      "RRMSE: 0.36250361950205345\n",
      "SEED: 2000 - Iter 56\n",
      "RRMSE: 0.3637130816353915\n",
      "SEED: 2000 - Iter 57\n",
      "RRMSE: 0.36524431304967403\n",
      "SEED: 2000 - Iter 58\n",
      "RRMSE: 0.364369703394794\n",
      "SEED: 2000 - Iter 59\n",
      "RRMSE: 0.37011557724013905\n",
      "SEED: 2000 - Iter 60\n",
      "RRMSE: 0.36090709535381904\n",
      "SEED: 2000 - Iter 61\n",
      "RRMSE: 0.3543079325817135\n",
      "SEED: 2000 - Iter 62\n",
      "RRMSE: 0.36450541171601\n",
      "SEED: 2000 - Iter 63\n",
      "RRMSE: 0.35349337799976366\n",
      "SEED: 2000 - Iter 64\n",
      "RRMSE: 0.3703516034601381\n",
      "SEED: 2000 - Iter 65\n",
      "RRMSE: 0.36269625132297817\n",
      "SEED: 2000 - Iter 66\n",
      "RRMSE: 0.36384652648334115\n",
      "SEED: 2000 - Iter 67\n",
      "RRMSE: 0.3625052358940846\n",
      "SEED: 2000 - Iter 68\n",
      "RRMSE: 0.36157595431320755\n",
      "SEED: 2000 - Iter 69\n",
      "RRMSE: 0.3698320016122132\n",
      "SEED: 2000 - Iter 70\n",
      "RRMSE: 0.36628249693709347\n",
      "SEED: 2000 - Iter 71\n",
      "RRMSE: 0.3588039545272243\n",
      "SEED: 2000 - Iter 72\n",
      "RRMSE: 0.3652778986737232\n",
      "SEED: 2000 - Iter 73\n",
      "RRMSE: 0.3626759558624839\n",
      "SEED: 2000 - Iter 74\n",
      "RRMSE: 0.3730329009842672\n",
      "SEED: 2000 - Iter 75\n",
      "RRMSE: 0.36598491243343434\n",
      "SEED: 2000 - Iter 76\n",
      "RRMSE: 0.3664660166342121\n",
      "SEED: 2000 - Iter 77\n",
      "RRMSE: 0.37155835364305956\n",
      "SEED: 2000 - Iter 78\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 2000 - Iter 79\n",
      "RRMSE: 0.3673257728357753\n",
      "SEED: 2000 - Iter 80\n",
      "RRMSE: 0.37102989490463556\n",
      "SEED: 2000 - Iter 81\n",
      "RRMSE: 0.36862300930171865\n",
      "SEED: 2000 - Iter 82\n",
      "RRMSE: 0.36449896464183745\n",
      "SEED: 2000 - Iter 83\n",
      "RRMSE: 0.3617726193231834\n",
      "SEED: 2000 - Iter 84\n",
      "RRMSE: 0.36361342794422397\n",
      "SEED: 2000 - Iter 85\n",
      "RRMSE: 0.3617348935703041\n",
      "SEED: 2000 - Iter 86\n",
      "RRMSE: 0.3690669920803876\n",
      "SEED: 2000 - Iter 87\n",
      "RRMSE: 0.374250076560392\n",
      "SEED: 2000 - Iter 88\n",
      "RRMSE: 0.3608228443278828\n",
      "SEED: 2000 - Iter 89\n",
      "RRMSE: 0.3659644537911126\n",
      "SEED: 2000 - Iter 90\n",
      "RRMSE: 0.36642753611827494\n",
      "SEED: 2000 - Iter 91\n",
      "RRMSE: 0.3654269694313936\n",
      "SEED: 2000 - Iter 92\n",
      "RRMSE: 0.36099443186741326\n",
      "SEED: 2000 - Iter 93\n",
      "RRMSE: 0.3641581299692341\n",
      "SEED: 2000 - Iter 94\n",
      "RRMSE: 0.3643978902148344\n",
      "SEED: 2000 - Iter 95\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 2000 - Iter 96\n",
      "RRMSE: 0.3540826601608134\n",
      "SEED: 2000 - Iter 97\n",
      "RRMSE: 0.36091755774280554\n",
      "SEED: 2000 - Iter 98\n",
      "RRMSE: 0.3624572675777797\n",
      "SEED: 2000 - Iter 99\n",
      "RRMSE: 0.36945964223647887\n",
      "SEED: 3000 - Iter 0\n",
      "RRMSE: 0.3634289950266406\n",
      "SEED: 3000 - Iter 1\n",
      "RRMSE: 0.35796112550339865\n",
      "SEED: 3000 - Iter 2\n",
      "RRMSE: 0.3615888624122238\n",
      "SEED: 3000 - Iter 3\n",
      "RRMSE: 0.3611608881148379\n",
      "SEED: 3000 - Iter 4\n",
      "RRMSE: 0.36557450733667207\n",
      "SEED: 3000 - Iter 5\n",
      "RRMSE: 0.35832982247813483\n",
      "SEED: 3000 - Iter 6\n",
      "RRMSE: 0.36509922220992264\n",
      "SEED: 3000 - Iter 7\n",
      "RRMSE: 0.36541109442991193\n",
      "SEED: 3000 - Iter 8\n",
      "RRMSE: 0.36176884489075617\n",
      "SEED: 3000 - Iter 9\n",
      "RRMSE: 0.370168411941004\n",
      "SEED: 3000 - Iter 10\n",
      "RRMSE: 0.35875071247241325\n",
      "SEED: 3000 - Iter 11\n",
      "RRMSE: 0.36392580229074634\n",
      "SEED: 3000 - Iter 12\n",
      "RRMSE: 0.3574373291727201\n",
      "SEED: 3000 - Iter 13\n",
      "RRMSE: 0.366052895297371\n",
      "SEED: 3000 - Iter 14\n",
      "RRMSE: 0.369405467353018\n",
      "SEED: 3000 - Iter 15\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 3000 - Iter 16\n",
      "RRMSE: 0.3626838682443169\n",
      "SEED: 3000 - Iter 17\n",
      "RRMSE: 0.3597755822739579\n",
      "SEED: 3000 - Iter 18\n",
      "RRMSE: 0.36305008538854366\n",
      "SEED: 3000 - Iter 19\n",
      "RRMSE: 0.36038106776780016\n",
      "SEED: 3000 - Iter 20\n",
      "RRMSE: 0.3616816897682529\n",
      "SEED: 3000 - Iter 21\n",
      "RRMSE: 0.3576734556021598\n",
      "SEED: 3000 - Iter 22\n",
      "RRMSE: 0.360510028105936\n",
      "SEED: 3000 - Iter 23\n",
      "RRMSE: 0.3708193991824318\n",
      "SEED: 3000 - Iter 24\n",
      "RRMSE: 0.36093946834810364\n",
      "SEED: 3000 - Iter 25\n",
      "RRMSE: 0.36281301311882086\n",
      "SEED: 3000 - Iter 26\n",
      "RRMSE: 0.3663544124737842\n",
      "SEED: 3000 - Iter 27\n",
      "RRMSE: 0.36562047781081497\n",
      "SEED: 3000 - Iter 28\n",
      "RRMSE: 0.3528757117293468\n",
      "SEED: 3000 - Iter 29\n",
      "RRMSE: 0.3575546185201065\n",
      "SEED: 3000 - Iter 30\n",
      "RRMSE: 0.3634350245211145\n",
      "SEED: 3000 - Iter 31\n",
      "RRMSE: 0.3631776493988039\n",
      "SEED: 3000 - Iter 32\n",
      "RRMSE: 0.35891679773205454\n",
      "SEED: 3000 - Iter 33\n",
      "RRMSE: 0.3591686026998814\n",
      "SEED: 3000 - Iter 34\n",
      "RRMSE: 0.363865928667365\n",
      "SEED: 3000 - Iter 35\n",
      "RRMSE: 0.371145526121837\n",
      "SEED: 3000 - Iter 36\n",
      "RRMSE: 0.3526603676640667\n",
      "SEED: 3000 - Iter 37\n",
      "RRMSE: 0.3647903006276709\n",
      "SEED: 3000 - Iter 38\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 3000 - Iter 39\n",
      "RRMSE: 0.36496489001198473\n",
      "SEED: 3000 - Iter 40\n",
      "RRMSE: 0.3581657669860015\n",
      "SEED: 3000 - Iter 41\n",
      "RRMSE: 0.3619797095783227\n",
      "SEED: 3000 - Iter 42\n",
      "RRMSE: 0.3683196591856944\n",
      "SEED: 3000 - Iter 43\n",
      "RRMSE: 0.36511129309414575\n",
      "SEED: 3000 - Iter 44\n",
      "RRMSE: 0.3609877889642208\n",
      "SEED: 3000 - Iter 45\n",
      "RRMSE: 0.3689374573788594\n",
      "SEED: 3000 - Iter 46\n",
      "RRMSE: 0.3594616879082273\n",
      "SEED: 3000 - Iter 47\n",
      "RRMSE: 0.3661940995743064\n",
      "SEED: 3000 - Iter 48\n",
      "RRMSE: 0.3606104895581468\n",
      "SEED: 3000 - Iter 49\n",
      "RRMSE: 0.36446019261192764\n",
      "SEED: 3000 - Iter 50\n",
      "RRMSE: 0.3657733276938532\n",
      "SEED: 3000 - Iter 51\n",
      "RRMSE: 0.3625441097595068\n",
      "SEED: 3000 - Iter 52\n",
      "RRMSE: 0.36724140208689493\n",
      "SEED: 3000 - Iter 53\n",
      "RRMSE: 0.3574105140242374\n",
      "SEED: 3000 - Iter 54\n",
      "RRMSE: 0.36989382465936205\n",
      "SEED: 3000 - Iter 55\n",
      "RRMSE: 0.3724277916848194\n",
      "SEED: 3000 - Iter 56\n",
      "RRMSE: 0.3656484884839952\n",
      "SEED: 3000 - Iter 57\n",
      "RRMSE: 0.36314330372474213\n",
      "SEED: 3000 - Iter 58\n",
      "RRMSE: 0.3655464574524279\n",
      "SEED: 3000 - Iter 59\n",
      "RRMSE: 0.3608618454117284\n",
      "SEED: 3000 - Iter 60\n",
      "RRMSE: 0.36021415407033497\n",
      "SEED: 3000 - Iter 61\n",
      "RRMSE: 0.36805098091884714\n",
      "SEED: 3000 - Iter 62\n",
      "RRMSE: 0.36341514797929564\n",
      "SEED: 3000 - Iter 63\n",
      "RRMSE: 0.3588338849195206\n",
      "SEED: 3000 - Iter 64\n",
      "RRMSE: 0.35557488110692265\n",
      "SEED: 3000 - Iter 65\n",
      "RRMSE: 0.3619167698164271\n",
      "SEED: 3000 - Iter 66\n",
      "RRMSE: 0.36977321625919324\n",
      "SEED: 3000 - Iter 67\n",
      "RRMSE: 0.3612375079311461\n",
      "SEED: 3000 - Iter 68\n",
      "RRMSE: 0.3602948616575137\n",
      "SEED: 3000 - Iter 69\n",
      "RRMSE: 0.3646729157490893\n",
      "SEED: 3000 - Iter 70\n",
      "RRMSE: 0.3661510383176195\n",
      "SEED: 3000 - Iter 71\n",
      "RRMSE: 0.36219566086619126\n",
      "SEED: 3000 - Iter 72\n",
      "RRMSE: 0.35955803383186447\n",
      "SEED: 3000 - Iter 73\n",
      "RRMSE: 0.35976683420796396\n",
      "SEED: 3000 - Iter 74\n",
      "RRMSE: 0.3623076576319035\n",
      "SEED: 3000 - Iter 75\n",
      "RRMSE: 0.3569553577585174\n",
      "SEED: 3000 - Iter 76\n",
      "RRMSE: 0.3695038892090055\n",
      "SEED: 3000 - Iter 77\n",
      "RRMSE: 0.35925290011921585\n",
      "SEED: 3000 - Iter 78\n",
      "RRMSE: 0.3664770963867912\n",
      "SEED: 3000 - Iter 79\n",
      "RRMSE: 0.3677145414400821\n",
      "SEED: 3000 - Iter 80\n",
      "RRMSE: 0.36178225629269145\n",
      "SEED: 3000 - Iter 81\n",
      "RRMSE: 0.3598544309513224\n",
      "SEED: 3000 - Iter 82\n",
      "RRMSE: 0.3570841002111317\n",
      "SEED: 3000 - Iter 83\n",
      "RRMSE: 0.3676495572876543\n",
      "SEED: 3000 - Iter 84\n",
      "RRMSE: 0.36055539455006264\n",
      "SEED: 3000 - Iter 85\n",
      "RRMSE: 0.3605022113830888\n",
      "SEED: 3000 - Iter 86\n",
      "RRMSE: 0.35968883972691645\n",
      "SEED: 3000 - Iter 87\n",
      "RRMSE: 0.36205284158416545\n",
      "SEED: 3000 - Iter 88\n",
      "RRMSE: 0.3667742051665821\n",
      "SEED: 3000 - Iter 89\n",
      "RRMSE: 0.3633971478113602\n",
      "SEED: 3000 - Iter 90\n",
      "RRMSE: 0.36238456878378494\n",
      "SEED: 3000 - Iter 91\n",
      "RRMSE: 0.3539023523647183\n",
      "SEED: 3000 - Iter 92\n",
      "RRMSE: 0.368163390409702\n",
      "SEED: 3000 - Iter 93\n",
      "RRMSE: 0.36291558561114623\n",
      "SEED: 3000 - Iter 94\n",
      "RRMSE: 0.3668738396452848\n",
      "SEED: 3000 - Iter 95\n",
      "RRMSE: 0.3559855250917541\n",
      "SEED: 3000 - Iter 96\n",
      "RRMSE: 0.3590714440217325\n",
      "SEED: 3000 - Iter 97\n",
      "RRMSE: 0.3650056957652039\n",
      "SEED: 3000 - Iter 98\n",
      "RRMSE: 0.36704922980001775\n",
      "SEED: 3000 - Iter 99\n",
      "RRMSE: 0.3605997047755357\n",
      "SEED: 4000 - Iter 0\n",
      "RRMSE: 0.365452301344123\n",
      "SEED: 4000 - Iter 1\n",
      "RRMSE: 0.36853968319082464\n",
      "SEED: 4000 - Iter 2\n",
      "RRMSE: 0.3625123779352432\n",
      "SEED: 4000 - Iter 3\n",
      "RRMSE: 0.3636233434308122\n",
      "SEED: 4000 - Iter 4\n",
      "RRMSE: 0.36245038109764044\n",
      "SEED: 4000 - Iter 5\n",
      "RRMSE: 0.3673712728244428\n",
      "SEED: 4000 - Iter 6\n",
      "RRMSE: 0.3633387867658987\n",
      "SEED: 4000 - Iter 7\n",
      "RRMSE: 0.36673612458138644\n",
      "SEED: 4000 - Iter 8\n",
      "RRMSE: 0.3632426394053008\n",
      "SEED: 4000 - Iter 9\n",
      "RRMSE: 0.36588447350252273\n",
      "SEED: 4000 - Iter 10\n",
      "RRMSE: 0.3696380934483383\n",
      "SEED: 4000 - Iter 11\n",
      "RRMSE: 0.36452978568434047\n",
      "SEED: 4000 - Iter 12\n",
      "RRMSE: 0.3631674069075418\n",
      "SEED: 4000 - Iter 13\n",
      "RRMSE: 0.36969306718718586\n",
      "SEED: 4000 - Iter 14\n",
      "RRMSE: 0.3626502476739002\n",
      "SEED: 4000 - Iter 15\n",
      "RRMSE: 0.3680110498751134\n",
      "SEED: 4000 - Iter 16\n",
      "RRMSE: 0.36248535262938997\n",
      "SEED: 4000 - Iter 17\n",
      "RRMSE: 0.3634903378419972\n",
      "SEED: 4000 - Iter 18\n",
      "RRMSE: 0.3617892871472201\n",
      "SEED: 4000 - Iter 19\n",
      "RRMSE: 0.3697976372932991\n",
      "SEED: 4000 - Iter 20\n",
      "RRMSE: 0.36012903240317473\n",
      "SEED: 4000 - Iter 21\n",
      "RRMSE: 0.3579836080644523\n",
      "SEED: 4000 - Iter 22\n",
      "RRMSE: 0.3576909212168116\n",
      "SEED: 4000 - Iter 23\n",
      "RRMSE: 0.3601472362731362\n",
      "SEED: 4000 - Iter 24\n",
      "RRMSE: 0.3671536104151955\n",
      "SEED: 4000 - Iter 25\n",
      "RRMSE: 0.3646856593641886\n",
      "SEED: 4000 - Iter 26\n",
      "RRMSE: 0.35921451907622826\n",
      "SEED: 4000 - Iter 27\n",
      "RRMSE: 0.3641262878175292\n",
      "SEED: 4000 - Iter 28\n",
      "RRMSE: 0.3637339606521416\n",
      "SEED: 4000 - Iter 29\n",
      "RRMSE: 0.3654954521673633\n",
      "SEED: 4000 - Iter 30\n",
      "RRMSE: 0.3582137759305732\n",
      "SEED: 4000 - Iter 31\n",
      "RRMSE: 0.3667244951530081\n",
      "SEED: 4000 - Iter 32\n",
      "RRMSE: 0.3695479744967743\n",
      "SEED: 4000 - Iter 33\n",
      "RRMSE: 0.3603740845621444\n",
      "SEED: 4000 - Iter 34\n",
      "RRMSE: 0.361890267264165\n",
      "SEED: 4000 - Iter 35\n",
      "RRMSE: 0.3591306968616571\n",
      "SEED: 4000 - Iter 36\n",
      "RRMSE: 0.36508613172005877\n",
      "SEED: 4000 - Iter 37\n",
      "RRMSE: 0.3657814613008993\n",
      "SEED: 4000 - Iter 38\n",
      "RRMSE: 0.36814464698010074\n",
      "SEED: 4000 - Iter 39\n",
      "RRMSE: 0.3543685210941049\n",
      "SEED: 4000 - Iter 40\n",
      "RRMSE: 0.3594667861627272\n",
      "SEED: 4000 - Iter 41\n",
      "RRMSE: 0.36492100207596656\n",
      "SEED: 4000 - Iter 42\n",
      "RRMSE: 0.36512169333386807\n",
      "SEED: 4000 - Iter 43\n",
      "RRMSE: 0.36019210659712064\n",
      "SEED: 4000 - Iter 44\n",
      "RRMSE: 0.35732474800035197\n",
      "SEED: 4000 - Iter 45\n",
      "RRMSE: 0.3616282085301423\n",
      "SEED: 4000 - Iter 46\n",
      "RRMSE: 0.3659955930420208\n",
      "SEED: 4000 - Iter 47\n",
      "RRMSE: 0.3598751358139336\n",
      "SEED: 4000 - Iter 48\n",
      "RRMSE: 0.36303290942752714\n",
      "SEED: 4000 - Iter 49\n",
      "RRMSE: 0.36821326998287823\n",
      "SEED: 4000 - Iter 50\n",
      "RRMSE: 0.36570703888979617\n",
      "SEED: 4000 - Iter 51\n",
      "RRMSE: 0.3711178167448758\n",
      "SEED: 4000 - Iter 52\n",
      "RRMSE: 0.3643361512084754\n",
      "SEED: 4000 - Iter 53\n",
      "RRMSE: 0.36304777517998\n",
      "SEED: 4000 - Iter 54\n",
      "RRMSE: 0.3642571781968354\n",
      "SEED: 4000 - Iter 55\n",
      "RRMSE: 0.36356783063970044\n",
      "SEED: 4000 - Iter 56\n",
      "RRMSE: 0.36287327741478326\n",
      "SEED: 4000 - Iter 57\n",
      "RRMSE: 0.3621079134029438\n",
      "SEED: 4000 - Iter 58\n",
      "RRMSE: 0.36359395230395875\n",
      "SEED: 4000 - Iter 59\n",
      "RRMSE: 0.361920452743768\n",
      "SEED: 4000 - Iter 60\n",
      "RRMSE: 0.3623064363926328\n",
      "SEED: 4000 - Iter 61\n",
      "RRMSE: 0.36257067586670855\n",
      "SEED: 4000 - Iter 62\n",
      "RRMSE: 0.3703018894112817\n",
      "SEED: 4000 - Iter 63\n",
      "RRMSE: 0.3709366680864799\n",
      "SEED: 4000 - Iter 64\n",
      "RRMSE: 0.36218312045905643\n",
      "SEED: 4000 - Iter 65\n",
      "RRMSE: 0.3646768023407384\n",
      "SEED: 4000 - Iter 66\n",
      "RRMSE: 0.3686966315284493\n",
      "SEED: 4000 - Iter 67\n",
      "RRMSE: 0.3665983559367523\n",
      "SEED: 4000 - Iter 68\n",
      "RRMSE: 0.3670885571720673\n",
      "SEED: 4000 - Iter 69\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 4000 - Iter 70\n",
      "RRMSE: 0.3617867201976462\n",
      "SEED: 4000 - Iter 71\n",
      "RRMSE: 0.35670159782531885\n",
      "SEED: 4000 - Iter 72\n",
      "RRMSE: 0.3660811378912073\n",
      "SEED: 4000 - Iter 73\n",
      "RRMSE: 0.36888110571359733\n",
      "SEED: 4000 - Iter 74\n",
      "RRMSE: 0.36487443585416307\n",
      "SEED: 4000 - Iter 75\n",
      "RRMSE: 0.36535486918880444\n",
      "SEED: 4000 - Iter 76\n",
      "RRMSE: 0.3625167812271009\n",
      "SEED: 4000 - Iter 77\n",
      "RRMSE: 0.3586716024848289\n",
      "SEED: 4000 - Iter 78\n",
      "RRMSE: 0.35588794216565317\n",
      "SEED: 4000 - Iter 79\n",
      "RRMSE: 0.36166793979888745\n",
      "SEED: 4000 - Iter 80\n",
      "RRMSE: 0.36252469991570746\n",
      "SEED: 4000 - Iter 81\n",
      "RRMSE: 0.3631936090388684\n",
      "SEED: 4000 - Iter 82\n",
      "RRMSE: 0.360869087181069\n",
      "SEED: 4000 - Iter 83\n",
      "RRMSE: 0.36206877197372356\n",
      "SEED: 4000 - Iter 84\n",
      "RRMSE: 0.3641667574674698\n",
      "SEED: 4000 - Iter 85\n",
      "RRMSE: 0.36971018787106\n",
      "SEED: 4000 - Iter 86\n",
      "RRMSE: 0.3604676224454142\n",
      "SEED: 4000 - Iter 87\n",
      "RRMSE: 0.3614153641586536\n",
      "SEED: 4000 - Iter 88\n",
      "RRMSE: 0.3633461320423366\n",
      "SEED: 4000 - Iter 89\n",
      "RRMSE: 0.37510882855445926\n",
      "SEED: 4000 - Iter 90\n",
      "RRMSE: 0.36894562165736083\n",
      "SEED: 4000 - Iter 91\n",
      "RRMSE: 0.36595686953347295\n",
      "SEED: 4000 - Iter 92\n",
      "RRMSE: 0.36037094334812\n",
      "SEED: 4000 - Iter 93\n",
      "RRMSE: 0.3644146975427828\n",
      "SEED: 4000 - Iter 94\n",
      "RRMSE: 0.365744023050799\n",
      "SEED: 4000 - Iter 95\n",
      "RRMSE: 0.3608544503897255\n",
      "SEED: 4000 - Iter 96\n",
      "RRMSE: 0.3687151969025947\n",
      "SEED: 4000 - Iter 97\n",
      "RRMSE: 0.36451044394013643\n",
      "SEED: 4000 - Iter 98\n",
      "RRMSE: 0.3557350143137289\n",
      "SEED: 4000 - Iter 99\n",
      "RRMSE: 0.37541208551950767\n",
      "SEED: 5000 - Iter 0\n",
      "RRMSE: 0.36071859693879704\n",
      "SEED: 5000 - Iter 1\n",
      "RRMSE: 0.35708377512569967\n",
      "SEED: 5000 - Iter 2\n",
      "RRMSE: 0.36038639955905627\n",
      "SEED: 5000 - Iter 3\n",
      "RRMSE: 0.35671114491936834\n",
      "SEED: 5000 - Iter 4\n",
      "RRMSE: 0.3650401889638313\n",
      "SEED: 5000 - Iter 5\n",
      "RRMSE: 0.3522617948740727\n",
      "SEED: 5000 - Iter 6\n",
      "RRMSE: 0.36648375727491755\n",
      "SEED: 5000 - Iter 7\n",
      "RRMSE: 0.36757472308159683\n",
      "SEED: 5000 - Iter 8\n",
      "RRMSE: 0.3567108349089865\n",
      "SEED: 5000 - Iter 9\n",
      "RRMSE: 0.3606417372175982\n",
      "SEED: 5000 - Iter 10\n",
      "RRMSE: 0.36285825899449015\n",
      "SEED: 5000 - Iter 11\n",
      "RRMSE: 0.36688724702911796\n",
      "SEED: 5000 - Iter 12\n",
      "RRMSE: 0.3621281925072236\n",
      "SEED: 5000 - Iter 13\n",
      "RRMSE: 0.36380157270698144\n",
      "SEED: 5000 - Iter 14\n",
      "RRMSE: 0.3637462671867786\n",
      "SEED: 5000 - Iter 15\n",
      "RRMSE: 0.36829629426144983\n",
      "SEED: 5000 - Iter 16\n",
      "RRMSE: 0.36230921917060965\n",
      "SEED: 5000 - Iter 17\n",
      "RRMSE: 0.3636771890219605\n",
      "SEED: 5000 - Iter 18\n",
      "RRMSE: 0.36408180686318303\n",
      "SEED: 5000 - Iter 19\n",
      "RRMSE: 0.36471796656862254\n",
      "SEED: 5000 - Iter 20\n",
      "RRMSE: 0.36483328634353923\n",
      "SEED: 5000 - Iter 21\n",
      "RRMSE: 0.3575030542492464\n",
      "SEED: 5000 - Iter 22\n",
      "RRMSE: 0.3597352723703196\n",
      "SEED: 5000 - Iter 23\n",
      "RRMSE: 0.359570133300547\n",
      "SEED: 5000 - Iter 24\n",
      "RRMSE: 0.360648460447075\n",
      "SEED: 5000 - Iter 25\n",
      "RRMSE: 0.3731788733997903\n",
      "SEED: 5000 - Iter 26\n",
      "RRMSE: 0.3580438925811364\n",
      "SEED: 5000 - Iter 27\n",
      "RRMSE: 0.36289237445540967\n",
      "SEED: 5000 - Iter 28\n",
      "RRMSE: 0.3659874363820162\n",
      "SEED: 5000 - Iter 29\n",
      "RRMSE: 0.364755957281519\n",
      "SEED: 5000 - Iter 30\n",
      "RRMSE: 0.36859680206605605\n",
      "SEED: 5000 - Iter 31\n",
      "RRMSE: 0.3658126859079388\n",
      "SEED: 5000 - Iter 32\n",
      "RRMSE: 0.3627468791090391\n",
      "SEED: 5000 - Iter 33\n",
      "RRMSE: 0.3678545539712008\n",
      "SEED: 5000 - Iter 34\n",
      "RRMSE: 0.3635168604507697\n",
      "SEED: 5000 - Iter 35\n",
      "RRMSE: 0.3640730835996348\n",
      "SEED: 5000 - Iter 36\n",
      "RRMSE: 0.36454726782991936\n",
      "SEED: 5000 - Iter 37\n",
      "RRMSE: 0.3664081005343923\n",
      "SEED: 5000 - Iter 38\n",
      "RRMSE: 0.36662213838111646\n",
      "SEED: 5000 - Iter 39\n",
      "RRMSE: 0.3603249077898894\n",
      "SEED: 5000 - Iter 40\n",
      "RRMSE: 0.36326036113769067\n",
      "SEED: 5000 - Iter 41\n",
      "RRMSE: 0.3578477695169524\n",
      "SEED: 5000 - Iter 42\n",
      "RRMSE: 0.36030213880004297\n",
      "SEED: 5000 - Iter 43\n",
      "RRMSE: 0.36689623514175446\n",
      "SEED: 5000 - Iter 44\n",
      "RRMSE: 0.3592127300915507\n",
      "SEED: 5000 - Iter 45\n",
      "RRMSE: 0.3588708282625865\n",
      "SEED: 5000 - Iter 46\n",
      "RRMSE: 0.36217094488521107\n",
      "SEED: 5000 - Iter 47\n",
      "RRMSE: 0.3624330819519589\n",
      "SEED: 5000 - Iter 48\n",
      "RRMSE: 0.36621924907656345\n",
      "SEED: 5000 - Iter 49\n",
      "RRMSE: 0.3615536627065036\n",
      "SEED: 5000 - Iter 50\n",
      "RRMSE: 0.35651389407731193\n",
      "SEED: 5000 - Iter 51\n",
      "RRMSE: 0.3590950807100912\n",
      "SEED: 5000 - Iter 52\n",
      "RRMSE: 0.3680825859593073\n",
      "SEED: 5000 - Iter 53\n",
      "RRMSE: 0.3684597866106012\n",
      "SEED: 5000 - Iter 54\n",
      "RRMSE: 0.3678793295593951\n",
      "SEED: 5000 - Iter 55\n",
      "RRMSE: 0.362001512550112\n",
      "SEED: 5000 - Iter 56\n",
      "RRMSE: 0.3593543176668471\n",
      "SEED: 5000 - Iter 57\n",
      "RRMSE: 0.3652711287392152\n",
      "SEED: 5000 - Iter 58\n",
      "RRMSE: 0.3640156481048324\n",
      "SEED: 5000 - Iter 59\n",
      "RRMSE: 0.35832912443632253\n",
      "SEED: 5000 - Iter 60\n",
      "RRMSE: 0.35654025504636744\n",
      "SEED: 5000 - Iter 61\n",
      "RRMSE: 0.36231643054599166\n",
      "SEED: 5000 - Iter 62\n",
      "RRMSE: 0.35585195684855153\n",
      "SEED: 5000 - Iter 63\n",
      "RRMSE: 0.37034857625209266\n",
      "SEED: 5000 - Iter 64\n",
      "RRMSE: 0.36077258369219894\n",
      "SEED: 5000 - Iter 65\n",
      "RRMSE: 0.362185408662205\n",
      "SEED: 5000 - Iter 66\n",
      "RRMSE: 0.36076911025897956\n",
      "SEED: 5000 - Iter 67\n",
      "RRMSE: 0.3664621569690768\n",
      "SEED: 5000 - Iter 68\n",
      "RRMSE: 0.3610581604758407\n",
      "SEED: 5000 - Iter 69\n",
      "RRMSE: 0.36426555230459234\n",
      "SEED: 5000 - Iter 70\n",
      "RRMSE: 0.3613837571251101\n",
      "SEED: 5000 - Iter 71\n",
      "RRMSE: 0.361558780208991\n",
      "SEED: 5000 - Iter 72\n",
      "RRMSE: 0.3641345933886042\n",
      "SEED: 5000 - Iter 73\n",
      "RRMSE: 0.36037637537390144\n",
      "SEED: 5000 - Iter 74\n",
      "RRMSE: 0.3697081340478367\n",
      "SEED: 5000 - Iter 75\n",
      "RRMSE: 0.3677859825206802\n",
      "SEED: 5000 - Iter 76\n",
      "RRMSE: 0.3577521785948718\n",
      "SEED: 5000 - Iter 77\n",
      "RRMSE: 0.3643424328515047\n",
      "SEED: 5000 - Iter 78\n",
      "RRMSE: 0.36589998328765666\n",
      "SEED: 5000 - Iter 79\n",
      "RRMSE: 0.35890708424225964\n",
      "SEED: 5000 - Iter 80\n",
      "RRMSE: 0.36768628072748955\n",
      "SEED: 5000 - Iter 81\n",
      "RRMSE: 0.36194881001513735\n",
      "SEED: 5000 - Iter 82\n",
      "RRMSE: 0.36731566800764653\n",
      "SEED: 5000 - Iter 83\n",
      "RRMSE: 0.35832993199100105\n",
      "SEED: 5000 - Iter 84\n",
      "RRMSE: 0.3545224225103105\n",
      "SEED: 5000 - Iter 85\n",
      "RRMSE: 0.3605444805874643\n",
      "SEED: 5000 - Iter 86\n",
      "RRMSE: 0.36295670787362344\n",
      "SEED: 5000 - Iter 87\n",
      "RRMSE: 0.36881624960645776\n",
      "SEED: 5000 - Iter 88\n",
      "RRMSE: 0.3593966512592052\n",
      "SEED: 5000 - Iter 89\n",
      "RRMSE: 0.360935526101131\n",
      "SEED: 5000 - Iter 90\n",
      "RRMSE: 0.35492195429569084\n",
      "SEED: 5000 - Iter 91\n",
      "RRMSE: 0.36501381244681835\n",
      "SEED: 5000 - Iter 92\n",
      "RRMSE: 0.36326292716864494\n",
      "SEED: 5000 - Iter 93\n",
      "RRMSE: 0.3672729274157896\n",
      "SEED: 5000 - Iter 94\n",
      "RRMSE: 0.36275182455572536\n",
      "SEED: 5000 - Iter 95\n",
      "RRMSE: 0.36331458704290265\n",
      "SEED: 5000 - Iter 96\n",
      "RRMSE: 0.36017356844688925\n",
      "SEED: 5000 - Iter 97\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 5000 - Iter 98\n",
      "RRMSE: 0.3647598849654945\n",
      "SEED: 5000 - Iter 99\n",
      "RRMSE: 0.3664453130727401\n",
      "SEED: 6000 - Iter 0\n",
      "RRMSE: 0.362829315343811\n",
      "SEED: 6000 - Iter 1\n",
      "RRMSE: 0.36917342140782855\n",
      "SEED: 6000 - Iter 2\n",
      "RRMSE: 0.3576416586559083\n",
      "SEED: 6000 - Iter 3\n",
      "RRMSE: 0.36010391828695293\n",
      "SEED: 6000 - Iter 4\n",
      "RRMSE: 0.36426555230459234\n",
      "SEED: 6000 - Iter 5\n",
      "RRMSE: 0.367745030386075\n",
      "SEED: 6000 - Iter 6\n",
      "RRMSE: 0.36961579333727035\n",
      "SEED: 6000 - Iter 7\n",
      "RRMSE: 0.36157415769907064\n",
      "SEED: 6000 - Iter 8\n",
      "RRMSE: 0.3646980911394648\n",
      "SEED: 6000 - Iter 9\n",
      "RRMSE: 0.36481336358291105\n",
      "SEED: 6000 - Iter 10\n",
      "RRMSE: 0.3575143651894469\n",
      "SEED: 6000 - Iter 11\n",
      "RRMSE: 0.3614378382918332\n",
      "SEED: 6000 - Iter 12\n",
      "RRMSE: 0.3683343589682011\n",
      "SEED: 6000 - Iter 13\n",
      "RRMSE: 0.364282068782954\n",
      "SEED: 6000 - Iter 14\n",
      "RRMSE: 0.36350770497930723\n",
      "SEED: 6000 - Iter 15\n",
      "RRMSE: 0.36249253946427573\n",
      "SEED: 6000 - Iter 16\n",
      "RRMSE: 0.3684274371717778\n",
      "SEED: 6000 - Iter 17\n",
      "RRMSE: 0.3567076609093212\n",
      "SEED: 6000 - Iter 18\n",
      "RRMSE: 0.36756106022162405\n",
      "SEED: 6000 - Iter 19\n",
      "RRMSE: 0.36297610024784277\n",
      "SEED: 6000 - Iter 20\n",
      "RRMSE: 0.3700383962763327\n",
      "SEED: 6000 - Iter 21\n",
      "RRMSE: 0.3615536627065036\n",
      "SEED: 6000 - Iter 22\n",
      "RRMSE: 0.3549227849779668\n",
      "SEED: 6000 - Iter 23\n",
      "RRMSE: 0.3592992128971373\n",
      "SEED: 6000 - Iter 24\n",
      "RRMSE: 0.36518472412484526\n",
      "SEED: 6000 - Iter 25\n",
      "RRMSE: 0.37072332246427686\n",
      "SEED: 6000 - Iter 26\n",
      "RRMSE: 0.3560524232877752\n",
      "SEED: 6000 - Iter 27\n",
      "RRMSE: 0.357920089175327\n",
      "SEED: 6000 - Iter 28\n",
      "RRMSE: 0.3660381736348129\n",
      "SEED: 6000 - Iter 29\n",
      "RRMSE: 0.3701527614290815\n",
      "SEED: 6000 - Iter 30\n",
      "RRMSE: 0.3589823882920245\n",
      "SEED: 6000 - Iter 31\n",
      "RRMSE: 0.3661845928115748\n",
      "SEED: 6000 - Iter 32\n",
      "RRMSE: 0.3753535102115136\n",
      "SEED: 6000 - Iter 33\n",
      "RRMSE: 0.35830526117418865\n",
      "SEED: 6000 - Iter 34\n",
      "RRMSE: 0.3661664219931141\n",
      "SEED: 6000 - Iter 35\n",
      "RRMSE: 0.3673517034294901\n",
      "SEED: 6000 - Iter 36\n",
      "RRMSE: 0.3582387883725722\n",
      "SEED: 6000 - Iter 37\n",
      "RRMSE: 0.3585395651637779\n",
      "SEED: 6000 - Iter 38\n",
      "RRMSE: 0.36289149211177185\n",
      "SEED: 6000 - Iter 39\n",
      "RRMSE: 0.36215252371534734\n",
      "SEED: 6000 - Iter 40\n",
      "RRMSE: 0.3591508041720527\n",
      "SEED: 6000 - Iter 41\n",
      "RRMSE: 0.3574010949865658\n",
      "SEED: 6000 - Iter 42\n",
      "RRMSE: 0.36711631131030875\n",
      "SEED: 6000 - Iter 43\n",
      "RRMSE: 0.35625032211026786\n",
      "SEED: 6000 - Iter 44\n",
      "RRMSE: 0.36873795969683015\n",
      "SEED: 6000 - Iter 45\n",
      "RRMSE: 0.3640532784812445\n",
      "SEED: 6000 - Iter 46\n",
      "RRMSE: 0.35522399613448385\n",
      "SEED: 6000 - Iter 47\n",
      "RRMSE: 0.3678444781559148\n",
      "SEED: 6000 - Iter 48\n",
      "RRMSE: 0.3713627992985318\n",
      "SEED: 6000 - Iter 49\n",
      "RRMSE: 0.3623064363926328\n",
      "SEED: 6000 - Iter 50\n",
      "RRMSE: 0.36730213632883396\n",
      "SEED: 6000 - Iter 51\n",
      "RRMSE: 0.3649324181857643\n",
      "SEED: 6000 - Iter 52\n",
      "RRMSE: 0.36803516677492265\n",
      "SEED: 6000 - Iter 53\n",
      "RRMSE: 0.36123514001765267\n",
      "SEED: 6000 - Iter 54\n",
      "RRMSE: 0.36109939675575997\n",
      "SEED: 6000 - Iter 55\n",
      "RRMSE: 0.3619032782296319\n",
      "SEED: 6000 - Iter 56\n",
      "RRMSE: 0.3625052358940846\n",
      "SEED: 6000 - Iter 57\n",
      "RRMSE: 0.36032755808249906\n",
      "SEED: 6000 - Iter 58\n",
      "RRMSE: 0.36284821782556065\n",
      "SEED: 6000 - Iter 59\n",
      "RRMSE: 0.3651788953702621\n",
      "SEED: 6000 - Iter 60\n",
      "RRMSE: 0.3636954070460157\n",
      "SEED: 6000 - Iter 61\n",
      "RRMSE: 0.36259817803135386\n",
      "SEED: 6000 - Iter 62\n",
      "RRMSE: 0.3610431227037258\n",
      "SEED: 6000 - Iter 63\n",
      "RRMSE: 0.3649839824647914\n",
      "SEED: 6000 - Iter 64\n",
      "RRMSE: 0.3551234146069579\n",
      "SEED: 6000 - Iter 65\n",
      "RRMSE: 0.3633906985347693\n",
      "SEED: 6000 - Iter 66\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 6000 - Iter 67\n",
      "RRMSE: 0.36333397500360426\n",
      "SEED: 6000 - Iter 68\n",
      "RRMSE: 0.3638499539684936\n",
      "SEED: 6000 - Iter 69\n",
      "RRMSE: 0.3713904675069689\n",
      "SEED: 6000 - Iter 70\n",
      "RRMSE: 0.36136459094840984\n",
      "SEED: 6000 - Iter 71\n",
      "RRMSE: 0.3586444458353947\n",
      "SEED: 6000 - Iter 72\n",
      "RRMSE: 0.3645773486083256\n",
      "SEED: 6000 - Iter 73\n",
      "RRMSE: 0.36721512794710925\n",
      "SEED: 6000 - Iter 74\n",
      "RRMSE: 0.36233863152968426\n",
      "SEED: 6000 - Iter 75\n",
      "RRMSE: 0.3703789345181344\n",
      "SEED: 6000 - Iter 76\n",
      "RRMSE: 0.3595717485337018\n",
      "SEED: 6000 - Iter 77\n",
      "RRMSE: 0.3724456792618207\n",
      "SEED: 6000 - Iter 78\n",
      "RRMSE: 0.36328697441099755\n",
      "SEED: 6000 - Iter 79\n",
      "RRMSE: 0.3639370362423862\n",
      "SEED: 6000 - Iter 80\n",
      "RRMSE: 0.36306708668475657\n",
      "SEED: 6000 - Iter 81\n",
      "RRMSE: 0.35637088998136257\n",
      "SEED: 6000 - Iter 82\n",
      "RRMSE: 0.36063967455006324\n",
      "SEED: 6000 - Iter 83\n",
      "RRMSE: 0.362423336165733\n",
      "SEED: 6000 - Iter 84\n",
      "RRMSE: 0.3647415656927462\n",
      "SEED: 6000 - Iter 85\n",
      "RRMSE: 0.3665289690669977\n",
      "SEED: 6000 - Iter 86\n",
      "RRMSE: 0.3591076404433544\n",
      "SEED: 6000 - Iter 87\n",
      "RRMSE: 0.36616274944092886\n",
      "SEED: 6000 - Iter 88\n",
      "RRMSE: 0.36325889658959076\n",
      "SEED: 6000 - Iter 89\n",
      "RRMSE: 0.3702811268116113\n",
      "SEED: 6000 - Iter 90\n",
      "RRMSE: 0.3537715184120482\n",
      "SEED: 6000 - Iter 91\n",
      "RRMSE: 0.35803535922022645\n",
      "SEED: 6000 - Iter 92\n",
      "RRMSE: 0.3672805448538576\n",
      "SEED: 6000 - Iter 93\n",
      "RRMSE: 0.3654370298908172\n",
      "SEED: 6000 - Iter 94\n",
      "RRMSE: 0.36044213310991463\n",
      "SEED: 6000 - Iter 95\n",
      "RRMSE: 0.3695414841892356\n",
      "SEED: 6000 - Iter 96\n",
      "RRMSE: 0.37110170497353817\n",
      "SEED: 6000 - Iter 97\n",
      "RRMSE: 0.36886259275134586\n",
      "SEED: 6000 - Iter 98\n",
      "RRMSE: 0.3607932067015182\n",
      "SEED: 6000 - Iter 99\n",
      "RRMSE: 0.3623294792903042\n",
      "SEED: 7000 - Iter 0\n",
      "RRMSE: 0.3603567235403504\n",
      "SEED: 7000 - Iter 1\n",
      "RRMSE: 0.35490856493932094\n",
      "SEED: 7000 - Iter 2\n",
      "RRMSE: 0.36516602962853023\n",
      "SEED: 7000 - Iter 3\n",
      "RRMSE: 0.36917071831092174\n",
      "SEED: 7000 - Iter 4\n",
      "RRMSE: 0.3617081904191983\n",
      "SEED: 7000 - Iter 5\n",
      "RRMSE: 0.3682731062522515\n",
      "SEED: 7000 - Iter 6\n",
      "RRMSE: 0.3637906162247416\n",
      "SEED: 7000 - Iter 7\n",
      "RRMSE: 0.3631195101242305\n",
      "SEED: 7000 - Iter 8\n",
      "RRMSE: 0.35946945677510556\n",
      "SEED: 7000 - Iter 9\n",
      "RRMSE: 0.36419010291727894\n",
      "SEED: 7000 - Iter 10\n",
      "RRMSE: 0.37250676000433125\n",
      "SEED: 7000 - Iter 11\n",
      "RRMSE: 0.365920979334663\n",
      "SEED: 7000 - Iter 12\n",
      "RRMSE: 0.35965778573217777\n",
      "SEED: 7000 - Iter 13\n",
      "RRMSE: 0.3686670503949131\n",
      "SEED: 7000 - Iter 14\n",
      "RRMSE: 0.368935628873996\n",
      "SEED: 7000 - Iter 15\n",
      "RRMSE: 0.360814366274689\n",
      "SEED: 7000 - Iter 16\n",
      "RRMSE: 0.3664312311179754\n",
      "SEED: 7000 - Iter 17\n",
      "RRMSE: 0.35832534965477525\n",
      "SEED: 7000 - Iter 18\n",
      "RRMSE: 0.3658850475133911\n",
      "SEED: 7000 - Iter 19\n",
      "RRMSE: 0.35709087377129445\n",
      "SEED: 7000 - Iter 20\n",
      "RRMSE: 0.3641599996032489\n",
      "SEED: 7000 - Iter 21\n",
      "RRMSE: 0.35828868406554853\n",
      "SEED: 7000 - Iter 22\n",
      "RRMSE: 0.3585083573845491\n",
      "SEED: 7000 - Iter 23\n",
      "RRMSE: 0.3641640956248283\n",
      "SEED: 7000 - Iter 24\n",
      "RRMSE: 0.3690255571670231\n",
      "SEED: 7000 - Iter 25\n",
      "RRMSE: 0.36075019809973297\n",
      "SEED: 7000 - Iter 26\n",
      "RRMSE: 0.36739026197739805\n",
      "SEED: 7000 - Iter 27\n",
      "RRMSE: 0.3598564385222005\n",
      "SEED: 7000 - Iter 28\n",
      "RRMSE: 0.3604876382360188\n",
      "SEED: 7000 - Iter 29\n",
      "RRMSE: 0.3630489784254619\n",
      "SEED: 7000 - Iter 30\n",
      "RRMSE: 0.3720394620556318\n",
      "SEED: 7000 - Iter 31\n",
      "RRMSE: 0.36662427430497113\n",
      "SEED: 7000 - Iter 32\n",
      "RRMSE: 0.3612880021177113\n",
      "SEED: 7000 - Iter 33\n",
      "RRMSE: 0.363735423968476\n",
      "SEED: 7000 - Iter 34\n",
      "RRMSE: 0.3576202574370322\n",
      "SEED: 7000 - Iter 35\n",
      "RRMSE: 0.3601027926430902\n",
      "SEED: 7000 - Iter 36\n",
      "RRMSE: 0.36112568178882754\n",
      "SEED: 7000 - Iter 37\n",
      "RRMSE: 0.36346577851696354\n",
      "SEED: 7000 - Iter 38\n",
      "RRMSE: 0.3650198014846175\n",
      "SEED: 7000 - Iter 39\n",
      "RRMSE: 0.35961455446089324\n",
      "SEED: 7000 - Iter 40\n",
      "RRMSE: 0.3584884780475245\n",
      "SEED: 7000 - Iter 41\n",
      "RRMSE: 0.36650097738589277\n",
      "SEED: 7000 - Iter 42\n",
      "RRMSE: 0.37056458200924536\n",
      "SEED: 7000 - Iter 43\n",
      "RRMSE: 0.36004147198375436\n",
      "SEED: 7000 - Iter 44\n",
      "RRMSE: 0.3622815734964794\n",
      "SEED: 7000 - Iter 45\n",
      "RRMSE: 0.36540360564225505\n",
      "SEED: 7000 - Iter 46\n",
      "RRMSE: 0.37040911654652575\n",
      "SEED: 7000 - Iter 47\n",
      "RRMSE: 0.36075989159893257\n",
      "SEED: 7000 - Iter 48\n",
      "RRMSE: 0.3655242488274178\n",
      "SEED: 7000 - Iter 49\n",
      "RRMSE: 0.3565066714561788\n",
      "SEED: 7000 - Iter 50\n",
      "RRMSE: 0.36365594669835616\n",
      "SEED: 7000 - Iter 51\n",
      "RRMSE: 0.3575259118515889\n",
      "SEED: 7000 - Iter 52\n",
      "RRMSE: 0.35907170795288573\n",
      "SEED: 7000 - Iter 53\n",
      "RRMSE: 0.3599875750229984\n",
      "SEED: 7000 - Iter 54\n",
      "RRMSE: 0.36703671102039315\n",
      "SEED: 7000 - Iter 55\n",
      "RRMSE: 0.3659733506449222\n",
      "SEED: 7000 - Iter 56\n",
      "RRMSE: 0.37457962422129637\n",
      "SEED: 7000 - Iter 57\n",
      "RRMSE: 0.35492217204560766\n",
      "SEED: 7000 - Iter 58\n",
      "RRMSE: 0.35786405975602503\n",
      "SEED: 7000 - Iter 59\n",
      "RRMSE: 0.3538775295164032\n",
      "SEED: 7000 - Iter 60\n",
      "RRMSE: 0.3646804065532692\n",
      "SEED: 7000 - Iter 61\n",
      "RRMSE: 0.3610368795667289\n",
      "SEED: 7000 - Iter 62\n",
      "RRMSE: 0.3638779250871735\n",
      "SEED: 7000 - Iter 63\n",
      "RRMSE: 0.36086381825374936\n",
      "SEED: 7000 - Iter 64\n",
      "RRMSE: 0.3661936025660453\n",
      "SEED: 7000 - Iter 65\n",
      "RRMSE: 0.3570931998415502\n",
      "SEED: 7000 - Iter 66\n",
      "RRMSE: 0.36736047433467195\n",
      "SEED: 7000 - Iter 67\n",
      "RRMSE: 0.3545655270020946\n",
      "SEED: 7000 - Iter 68\n",
      "RRMSE: 0.3586860623902105\n",
      "SEED: 7000 - Iter 69\n",
      "RRMSE: 0.364965429409135\n",
      "SEED: 7000 - Iter 70\n",
      "RRMSE: 0.3730437882155139\n",
      "SEED: 7000 - Iter 71\n",
      "RRMSE: 0.36930685516787554\n",
      "SEED: 7000 - Iter 72\n",
      "RRMSE: 0.3622585874481653\n",
      "SEED: 7000 - Iter 73\n",
      "RRMSE: 0.372403211207207\n",
      "SEED: 7000 - Iter 74\n",
      "RRMSE: 0.36247406043950076\n",
      "SEED: 7000 - Iter 75\n",
      "RRMSE: 0.3597229058073279\n",
      "SEED: 7000 - Iter 76\n",
      "RRMSE: 0.3620377402164566\n",
      "SEED: 7000 - Iter 77\n",
      "RRMSE: 0.3611543402522137\n",
      "SEED: 7000 - Iter 78\n",
      "RRMSE: 0.36615891672020545\n",
      "SEED: 7000 - Iter 79\n",
      "RRMSE: 0.36233100863458245\n",
      "SEED: 7000 - Iter 80\n",
      "RRMSE: 0.3582004678309651\n",
      "SEED: 7000 - Iter 81\n",
      "RRMSE: 0.37039579280166623\n",
      "SEED: 7000 - Iter 82\n",
      "RRMSE: 0.35910661529239585\n",
      "SEED: 7000 - Iter 83\n",
      "RRMSE: 0.3673505494199166\n",
      "SEED: 7000 - Iter 84\n",
      "RRMSE: 0.37006640004795244\n",
      "SEED: 7000 - Iter 85\n",
      "RRMSE: 0.3633901962658195\n",
      "SEED: 7000 - Iter 86\n",
      "RRMSE: 0.3712618962366621\n",
      "SEED: 7000 - Iter 87\n",
      "RRMSE: 0.35650251470353056\n",
      "SEED: 7000 - Iter 88\n",
      "RRMSE: 0.36635602578799586\n",
      "SEED: 7000 - Iter 89\n",
      "RRMSE: 0.3653560986651143\n",
      "SEED: 7000 - Iter 90\n",
      "RRMSE: 0.3624685680773524\n",
      "SEED: 7000 - Iter 91\n",
      "RRMSE: 0.36388697875630993\n",
      "SEED: 7000 - Iter 92\n",
      "RRMSE: 0.3602933569187964\n",
      "SEED: 7000 - Iter 93\n",
      "RRMSE: 0.3608544503897255\n",
      "SEED: 7000 - Iter 94\n",
      "RRMSE: 0.3632839946989986\n",
      "SEED: 7000 - Iter 95\n",
      "RRMSE: 0.35881099230992497\n",
      "SEED: 7000 - Iter 96\n",
      "RRMSE: 0.36487351701048376\n",
      "SEED: 7000 - Iter 97\n",
      "RRMSE: 0.3697822369071422\n",
      "SEED: 7000 - Iter 98\n",
      "RRMSE: 0.3698294767008063\n",
      "SEED: 7000 - Iter 99\n",
      "RRMSE: 0.3614731349193531\n",
      "SEED: 8000 - Iter 0\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 8000 - Iter 1\n",
      "RRMSE: 0.35862884647810855\n",
      "SEED: 8000 - Iter 2\n",
      "RRMSE: 0.36609891140754075\n",
      "SEED: 8000 - Iter 3\n",
      "RRMSE: 0.3678675718239208\n",
      "SEED: 8000 - Iter 4\n",
      "RRMSE: 0.3682525198259165\n",
      "SEED: 8000 - Iter 5\n",
      "RRMSE: 0.3674445641166494\n",
      "SEED: 8000 - Iter 6\n",
      "RRMSE: 0.3601298308412818\n",
      "SEED: 8000 - Iter 7\n",
      "RRMSE: 0.3646521517394336\n",
      "SEED: 8000 - Iter 8\n",
      "RRMSE: 0.35763904426503706\n",
      "SEED: 8000 - Iter 9\n",
      "RRMSE: 0.3642875683732375\n",
      "SEED: 8000 - Iter 10\n",
      "RRMSE: 0.3623858601978248\n",
      "SEED: 8000 - Iter 11\n",
      "RRMSE: 0.3576877661435378\n",
      "SEED: 8000 - Iter 12\n",
      "RRMSE: 0.3597398279482653\n",
      "SEED: 8000 - Iter 13\n",
      "RRMSE: 0.3619468971526724\n",
      "SEED: 8000 - Iter 14\n",
      "RRMSE: 0.36835366628756955\n",
      "SEED: 8000 - Iter 15\n",
      "RRMSE: 0.364755957281519\n",
      "SEED: 8000 - Iter 16\n",
      "RRMSE: 0.3654668898932664\n",
      "SEED: 8000 - Iter 17\n",
      "RRMSE: 0.3636351849475628\n",
      "SEED: 8000 - Iter 18\n",
      "RRMSE: 0.36115037691788743\n",
      "SEED: 8000 - Iter 19\n",
      "RRMSE: 0.35413959001610773\n",
      "SEED: 8000 - Iter 20\n",
      "RRMSE: 0.3656243828884943\n",
      "SEED: 8000 - Iter 21\n",
      "RRMSE: 0.3710863665872235\n",
      "SEED: 8000 - Iter 22\n",
      "RRMSE: 0.36402914625505073\n",
      "SEED: 8000 - Iter 23\n",
      "RRMSE: 0.36202235772659297\n",
      "SEED: 8000 - Iter 24\n",
      "RRMSE: 0.3603654445374108\n",
      "SEED: 8000 - Iter 25\n",
      "RRMSE: 0.37234817422131083\n",
      "SEED: 8000 - Iter 26\n",
      "RRMSE: 0.3738533576419662\n",
      "SEED: 8000 - Iter 27\n",
      "RRMSE: 0.36476876612558523\n",
      "SEED: 8000 - Iter 28\n",
      "RRMSE: 0.3700469352264353\n",
      "SEED: 8000 - Iter 29\n",
      "RRMSE: 0.3606400281354981\n",
      "SEED: 8000 - Iter 30\n",
      "RRMSE: 0.37572637195692365\n",
      "SEED: 8000 - Iter 31\n",
      "RRMSE: 0.3539742555653323\n",
      "SEED: 8000 - Iter 32\n",
      "RRMSE: 0.36054740528805007\n",
      "SEED: 8000 - Iter 33\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 8000 - Iter 34\n",
      "RRMSE: 0.357922084864161\n",
      "SEED: 8000 - Iter 35\n",
      "RRMSE: 0.36487713901270613\n",
      "SEED: 8000 - Iter 36\n",
      "RRMSE: 0.3679446292344367\n",
      "SEED: 8000 - Iter 37\n",
      "RRMSE: 0.3742760346393431\n",
      "SEED: 8000 - Iter 38\n",
      "RRMSE: 0.3647743128910006\n",
      "SEED: 8000 - Iter 39\n",
      "RRMSE: 0.36649623217048294\n",
      "SEED: 8000 - Iter 40\n",
      "RRMSE: 0.3686484986931877\n",
      "SEED: 8000 - Iter 41\n",
      "RRMSE: 0.36455854579575875\n",
      "SEED: 8000 - Iter 42\n",
      "RRMSE: 0.3633132685096805\n",
      "SEED: 8000 - Iter 43\n",
      "RRMSE: 0.3624892459148626\n",
      "SEED: 8000 - Iter 44\n",
      "RRMSE: 0.3672314710461542\n",
      "SEED: 8000 - Iter 45\n",
      "RRMSE: 0.36301597457419515\n",
      "SEED: 8000 - Iter 46\n",
      "RRMSE: 0.3641003962090089\n",
      "SEED: 8000 - Iter 47\n",
      "RRMSE: 0.3631888762076212\n",
      "SEED: 8000 - Iter 48\n",
      "RRMSE: 0.3606486598120536\n",
      "SEED: 8000 - Iter 49\n",
      "RRMSE: 0.3677816419854054\n",
      "SEED: 8000 - Iter 50\n",
      "RRMSE: 0.3680005031982318\n",
      "SEED: 8000 - Iter 51\n",
      "RRMSE: 0.363483485078297\n",
      "SEED: 8000 - Iter 52\n",
      "RRMSE: 0.35795549924264497\n",
      "SEED: 8000 - Iter 53\n",
      "RRMSE: 0.36005071291819896\n",
      "SEED: 8000 - Iter 54\n",
      "RRMSE: 0.36827172592764895\n",
      "SEED: 8000 - Iter 55\n",
      "RRMSE: 0.36664264821992015\n",
      "SEED: 8000 - Iter 56\n",
      "RRMSE: 0.3605931213359589\n",
      "SEED: 8000 - Iter 57\n",
      "RRMSE: 0.36230921917060965\n",
      "SEED: 8000 - Iter 58\n",
      "RRMSE: 0.3519384906109676\n",
      "SEED: 8000 - Iter 59\n",
      "RRMSE: 0.3630291724131324\n",
      "SEED: 8000 - Iter 60\n",
      "RRMSE: 0.3705683550512512\n",
      "SEED: 8000 - Iter 61\n",
      "RRMSE: 0.36212096295686097\n",
      "SEED: 8000 - Iter 62\n",
      "RRMSE: 0.3580578996578089\n",
      "SEED: 8000 - Iter 63\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 8000 - Iter 64\n",
      "RRMSE: 0.36504692070969386\n",
      "SEED: 8000 - Iter 65\n",
      "RRMSE: 0.35561842263087406\n",
      "SEED: 8000 - Iter 66\n",
      "RRMSE: 0.3619036403048068\n",
      "SEED: 8000 - Iter 67\n",
      "RRMSE: 0.36680995175893316\n",
      "SEED: 8000 - Iter 68\n",
      "RRMSE: 0.3626645212842733\n",
      "SEED: 8000 - Iter 69\n",
      "RRMSE: 0.36879416973848167\n",
      "SEED: 8000 - Iter 70\n",
      "RRMSE: 0.35840550582107494\n",
      "SEED: 8000 - Iter 71\n",
      "RRMSE: 0.36604830905858027\n",
      "SEED: 8000 - Iter 72\n",
      "RRMSE: 0.3607994142244882\n",
      "SEED: 8000 - Iter 73\n",
      "RRMSE: 0.3615886602049028\n",
      "SEED: 8000 - Iter 74\n",
      "RRMSE: 0.359936120722754\n",
      "SEED: 8000 - Iter 75\n",
      "RRMSE: 0.3611756120369134\n",
      "SEED: 8000 - Iter 76\n",
      "RRMSE: 0.3699206983493435\n",
      "SEED: 8000 - Iter 77\n",
      "RRMSE: 0.35955118501668687\n",
      "SEED: 8000 - Iter 78\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 8000 - Iter 79\n",
      "RRMSE: 0.3604516415474898\n",
      "SEED: 8000 - Iter 80\n",
      "RRMSE: 0.361984475538741\n",
      "SEED: 8000 - Iter 81\n",
      "RRMSE: 0.3666860347988677\n",
      "SEED: 8000 - Iter 82\n",
      "RRMSE: 0.36821556469936906\n",
      "SEED: 8000 - Iter 83\n",
      "RRMSE: 0.36765719005424136\n",
      "SEED: 8000 - Iter 84\n",
      "RRMSE: 0.3657813813694787\n",
      "SEED: 8000 - Iter 85\n",
      "RRMSE: 0.3615031722189582\n",
      "SEED: 8000 - Iter 86\n",
      "RRMSE: 0.36565583392189516\n",
      "SEED: 8000 - Iter 87\n",
      "RRMSE: 0.36498550490075704\n",
      "SEED: 8000 - Iter 88\n",
      "RRMSE: 0.37051974487487066\n",
      "SEED: 8000 - Iter 89\n",
      "RRMSE: 0.3608236789200523\n",
      "SEED: 8000 - Iter 90\n",
      "RRMSE: 0.3619947885114769\n",
      "SEED: 8000 - Iter 91\n",
      "RRMSE: 0.35949096385840085\n",
      "SEED: 8000 - Iter 92\n",
      "RRMSE: 0.3570112932762043\n",
      "SEED: 8000 - Iter 93\n",
      "RRMSE: 0.37382751971952144\n",
      "SEED: 8000 - Iter 94\n",
      "RRMSE: 0.36849686552185873\n",
      "SEED: 8000 - Iter 95\n",
      "RRMSE: 0.36162361073245014\n",
      "SEED: 8000 - Iter 96\n",
      "RRMSE: 0.3749224878211583\n",
      "SEED: 8000 - Iter 97\n",
      "RRMSE: 0.35651522151056403\n",
      "SEED: 8000 - Iter 98\n",
      "RRMSE: 0.3734331336171663\n",
      "SEED: 8000 - Iter 99\n",
      "RRMSE: 0.36070599003252385\n",
      "SEED: 9000 - Iter 0\n",
      "RRMSE: 0.36555218935945966\n",
      "SEED: 9000 - Iter 1\n",
      "RRMSE: 0.3634739016666433\n",
      "SEED: 9000 - Iter 2\n",
      "RRMSE: 0.3604578928965435\n",
      "SEED: 9000 - Iter 3\n",
      "RRMSE: 0.3583316556876537\n",
      "SEED: 9000 - Iter 4\n",
      "RRMSE: 0.36136832585920464\n",
      "SEED: 9000 - Iter 5\n",
      "RRMSE: 0.36334069895116455\n",
      "SEED: 9000 - Iter 6\n",
      "RRMSE: 0.35976976169747876\n",
      "SEED: 9000 - Iter 7\n",
      "RRMSE: 0.36717056358290306\n",
      "SEED: 9000 - Iter 8\n",
      "RRMSE: 0.3689354673547626\n",
      "SEED: 9000 - Iter 9\n",
      "RRMSE: 0.36824393499448155\n",
      "SEED: 9000 - Iter 10\n",
      "RRMSE: 0.362658089736973\n",
      "SEED: 9000 - Iter 11\n",
      "RRMSE: 0.3617752400836348\n",
      "SEED: 9000 - Iter 12\n",
      "RRMSE: 0.3643709457309953\n",
      "SEED: 9000 - Iter 13\n",
      "RRMSE: 0.36302439659136687\n",
      "SEED: 9000 - Iter 14\n",
      "RRMSE: 0.36020381880792013\n",
      "SEED: 9000 - Iter 15\n",
      "RRMSE: 0.3688112644314341\n",
      "SEED: 9000 - Iter 16\n",
      "RRMSE: 0.36153286147063834\n",
      "SEED: 9000 - Iter 17\n",
      "RRMSE: 0.36454673428107454\n",
      "SEED: 9000 - Iter 18\n",
      "RRMSE: 0.36919937493486044\n",
      "SEED: 9000 - Iter 19\n",
      "RRMSE: 0.3626533244854824\n",
      "SEED: 9000 - Iter 20\n",
      "RRMSE: 0.3640662479908195\n",
      "SEED: 9000 - Iter 21\n",
      "RRMSE: 0.3576853987871721\n",
      "SEED: 9000 - Iter 22\n",
      "RRMSE: 0.35925768621631055\n",
      "SEED: 9000 - Iter 23\n",
      "RRMSE: 0.37592356549927664\n",
      "SEED: 9000 - Iter 24\n",
      "RRMSE: 0.36043575235988523\n",
      "SEED: 9000 - Iter 25\n",
      "RRMSE: 0.3635837692709964\n",
      "SEED: 9000 - Iter 26\n",
      "RRMSE: 0.36633073819654227\n",
      "SEED: 9000 - Iter 27\n",
      "RRMSE: 0.3600150824824565\n",
      "SEED: 9000 - Iter 28\n",
      "RRMSE: 0.36645726786154037\n",
      "SEED: 9000 - Iter 29\n",
      "RRMSE: 0.365462759499158\n",
      "SEED: 9000 - Iter 30\n",
      "RRMSE: 0.3622148780118453\n",
      "SEED: 9000 - Iter 31\n",
      "RRMSE: 0.35286309263319127\n",
      "SEED: 9000 - Iter 32\n",
      "RRMSE: 0.3675969286117975\n",
      "SEED: 9000 - Iter 33\n",
      "RRMSE: 0.3655822763986424\n",
      "SEED: 9000 - Iter 34\n",
      "RRMSE: 0.3625032061674341\n",
      "SEED: 9000 - Iter 35\n",
      "RRMSE: 0.3649269301153958\n",
      "SEED: 9000 - Iter 36\n",
      "RRMSE: 0.36896682602874487\n",
      "SEED: 9000 - Iter 37\n",
      "RRMSE: 0.35650408670361045\n",
      "SEED: 9000 - Iter 38\n",
      "RRMSE: 0.35637617468450944\n",
      "SEED: 9000 - Iter 39\n",
      "RRMSE: 0.36988920024698657\n",
      "SEED: 9000 - Iter 40\n",
      "RRMSE: 0.36219634542021634\n",
      "SEED: 9000 - Iter 41\n",
      "RRMSE: 0.3691016670997841\n",
      "SEED: 9000 - Iter 42\n",
      "RRMSE: 0.36743436226190246\n",
      "SEED: 9000 - Iter 43\n",
      "RRMSE: 0.36440754416261023\n",
      "SEED: 9000 - Iter 44\n",
      "RRMSE: 0.3586131853680235\n",
      "SEED: 9000 - Iter 45\n",
      "RRMSE: 0.35774574772897905\n",
      "SEED: 9000 - Iter 46\n",
      "RRMSE: 0.36731595809179324\n",
      "SEED: 9000 - Iter 47\n",
      "RRMSE: 0.3561528525608746\n",
      "SEED: 9000 - Iter 48\n",
      "RRMSE: 0.36235981154648705\n",
      "SEED: 9000 - Iter 49\n",
      "RRMSE: 0.3610445385061504\n",
      "SEED: 9000 - Iter 50\n",
      "RRMSE: 0.3644264025464539\n",
      "SEED: 9000 - Iter 51\n",
      "RRMSE: 0.36598404458451234\n",
      "SEED: 9000 - Iter 52\n",
      "RRMSE: 0.3548287351858996\n",
      "SEED: 9000 - Iter 53\n",
      "RRMSE: 0.3704410581084647\n",
      "SEED: 9000 - Iter 54\n",
      "RRMSE: 0.363427278646379\n",
      "SEED: 9000 - Iter 55\n",
      "RRMSE: 0.36060423898214955\n",
      "SEED: 9000 - Iter 56\n",
      "RRMSE: 0.3633233896680869\n",
      "SEED: 9000 - Iter 57\n",
      "RRMSE: 0.36057601827667557\n",
      "SEED: 9000 - Iter 58\n",
      "RRMSE: 0.3674095679339958\n",
      "SEED: 9000 - Iter 59\n",
      "RRMSE: 0.3644466481903815\n",
      "SEED: 9000 - Iter 60\n",
      "RRMSE: 0.36811416638357214\n",
      "SEED: 9000 - Iter 61\n",
      "RRMSE: 0.3666757915883444\n",
      "SEED: 9000 - Iter 62\n",
      "RRMSE: 0.36160320227587406\n",
      "SEED: 9000 - Iter 63\n",
      "RRMSE: 0.36560072456333215\n",
      "SEED: 9000 - Iter 64\n",
      "RRMSE: 0.36381584607621753\n",
      "SEED: 9000 - Iter 65\n",
      "RRMSE: 0.3625949635670927\n",
      "SEED: 9000 - Iter 66\n",
      "RRMSE: 0.3679765827633244\n",
      "SEED: 9000 - Iter 67\n",
      "RRMSE: 0.3591368404929587\n",
      "SEED: 9000 - Iter 68\n",
      "RRMSE: 0.3596065114381577\n",
      "SEED: 9000 - Iter 69\n",
      "RRMSE: 0.3627451578598773\n",
      "SEED: 9000 - Iter 70\n",
      "RRMSE: 0.370313652546408\n",
      "SEED: 9000 - Iter 71\n",
      "RRMSE: 0.36786588017809396\n",
      "SEED: 9000 - Iter 72\n",
      "RRMSE: 0.36137653492013794\n",
      "SEED: 9000 - Iter 73\n",
      "RRMSE: 0.35527514787841474\n",
      "SEED: 9000 - Iter 74\n",
      "RRMSE: 0.36742789744920856\n",
      "SEED: 9000 - Iter 75\n",
      "RRMSE: 0.36651676957309964\n",
      "SEED: 9000 - Iter 76\n",
      "RRMSE: 0.3656968003228443\n",
      "SEED: 9000 - Iter 77\n",
      "RRMSE: 0.3704458950525479\n",
      "SEED: 9000 - Iter 78\n",
      "RRMSE: 0.36709062652589725\n",
      "SEED: 9000 - Iter 79\n",
      "RRMSE: 0.36595100526941066\n",
      "SEED: 9000 - Iter 80\n",
      "RRMSE: 0.3653640294669289\n",
      "SEED: 9000 - Iter 81\n",
      "RRMSE: 0.3631347380130132\n",
      "SEED: 9000 - Iter 82\n",
      "RRMSE: 0.3743032226274892\n",
      "SEED: 9000 - Iter 83\n",
      "RRMSE: 0.3639664434884793\n",
      "SEED: 9000 - Iter 84\n",
      "RRMSE: 0.35739749363017026\n",
      "SEED: 9000 - Iter 85\n",
      "RRMSE: 0.35841390106101295\n",
      "SEED: 9000 - Iter 86\n",
      "RRMSE: 0.3600801330204683\n",
      "SEED: 9000 - Iter 87\n",
      "RRMSE: 0.35779198205134854\n",
      "SEED: 9000 - Iter 88\n",
      "RRMSE: 0.3553317235123855\n",
      "SEED: 9000 - Iter 89\n",
      "RRMSE: 0.36621485286310973\n",
      "SEED: 9000 - Iter 90\n",
      "RRMSE: 0.36198147982448636\n",
      "SEED: 9000 - Iter 91\n",
      "RRMSE: 0.3658362974205792\n",
      "SEED: 9000 - Iter 92\n",
      "RRMSE: 0.36306880442122985\n",
      "SEED: 9000 - Iter 93\n",
      "RRMSE: 0.3627861160052904\n",
      "SEED: 9000 - Iter 94\n",
      "RRMSE: 0.3604470579330817\n",
      "SEED: 9000 - Iter 95\n",
      "RRMSE: 0.36325721874911376\n",
      "SEED: 9000 - Iter 96\n",
      "RRMSE: 0.3613355420678307\n",
      "SEED: 9000 - Iter 97\n",
      "RRMSE: 0.35943858865293626\n",
      "SEED: 9000 - Iter 98\n",
      "RRMSE: 0.356794570773156\n",
      "SEED: 9000 - Iter 99\n",
      "RRMSE: 0.35625032211026786\n",
      "SEED: 10000 - Iter 0\n",
      "RRMSE: 0.3601873872818182\n",
      "SEED: 10000 - Iter 1\n",
      "RRMSE: 0.3648609902742983\n",
      "SEED: 10000 - Iter 2\n",
      "RRMSE: 0.36156333572874283\n",
      "SEED: 10000 - Iter 3\n",
      "RRMSE: 0.35964360136500495\n",
      "SEED: 10000 - Iter 4\n",
      "RRMSE: 0.36728903679096925\n",
      "SEED: 10000 - Iter 5\n",
      "RRMSE: 0.3617511538948128\n",
      "SEED: 10000 - Iter 6\n",
      "RRMSE: 0.36594522138063235\n",
      "SEED: 10000 - Iter 7\n",
      "RRMSE: 0.36403731602796285\n",
      "SEED: 10000 - Iter 8\n",
      "RRMSE: 0.3667667534501974\n",
      "SEED: 10000 - Iter 9\n",
      "RRMSE: 0.359861821967505\n",
      "SEED: 10000 - Iter 10\n",
      "RRMSE: 0.3683096729952709\n",
      "SEED: 10000 - Iter 11\n",
      "RRMSE: 0.359519595170975\n",
      "SEED: 10000 - Iter 12\n",
      "RRMSE: 0.36081353579778547\n",
      "SEED: 10000 - Iter 13\n",
      "RRMSE: 0.36482565217019797\n",
      "SEED: 10000 - Iter 14\n",
      "RRMSE: 0.36470190969263233\n",
      "SEED: 10000 - Iter 15\n",
      "RRMSE: 0.36318097158368057\n",
      "SEED: 10000 - Iter 16\n",
      "RRMSE: 0.3661194176192784\n",
      "SEED: 10000 - Iter 17\n",
      "RRMSE: 0.3639974740376878\n",
      "SEED: 10000 - Iter 18\n",
      "RRMSE: 0.3768760956567314\n",
      "SEED: 10000 - Iter 19\n",
      "RRMSE: 0.3646779474655494\n",
      "SEED: 10000 - Iter 20\n",
      "RRMSE: 0.35806574643320643\n",
      "SEED: 10000 - Iter 21\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 10000 - Iter 22\n",
      "RRMSE: 0.36217411779662434\n",
      "SEED: 10000 - Iter 23\n",
      "RRMSE: 0.36016468833126214\n",
      "SEED: 10000 - Iter 24\n",
      "RRMSE: 0.37049604636892847\n",
      "SEED: 10000 - Iter 25\n",
      "RRMSE: 0.36141616994839765\n",
      "SEED: 10000 - Iter 26\n",
      "RRMSE: 0.3636974244280725\n",
      "SEED: 10000 - Iter 27\n",
      "RRMSE: 0.365978015233035\n",
      "SEED: 10000 - Iter 28\n",
      "RRMSE: 0.36609861155786855\n",
      "SEED: 10000 - Iter 29\n",
      "RRMSE: 0.3570486162168058\n",
      "SEED: 10000 - Iter 30\n",
      "RRMSE: 0.3642092927894746\n",
      "SEED: 10000 - Iter 31\n",
      "RRMSE: 0.36610041872814936\n",
      "SEED: 10000 - Iter 32\n",
      "RRMSE: 0.36566928744051863\n",
      "SEED: 10000 - Iter 33\n",
      "RRMSE: 0.365986907253827\n",
      "SEED: 10000 - Iter 34\n",
      "RRMSE: 0.3601201204929196\n",
      "SEED: 10000 - Iter 35\n",
      "RRMSE: 0.36390051465982903\n",
      "SEED: 10000 - Iter 36\n",
      "RRMSE: 0.3658225145613277\n",
      "SEED: 10000 - Iter 37\n",
      "RRMSE: 0.36856111942783976\n",
      "SEED: 10000 - Iter 38\n",
      "RRMSE: 0.3646116237749274\n",
      "SEED: 10000 - Iter 39\n",
      "RRMSE: 0.3676643767071771\n",
      "SEED: 10000 - Iter 40\n",
      "RRMSE: 0.36399025076005465\n",
      "SEED: 10000 - Iter 41\n",
      "RRMSE: 0.36586762914190696\n",
      "SEED: 10000 - Iter 42\n",
      "RRMSE: 0.3638203484242418\n",
      "SEED: 10000 - Iter 43\n",
      "RRMSE: 0.36360554896680763\n",
      "SEED: 10000 - Iter 44\n",
      "RRMSE: 0.3632035203331764\n",
      "SEED: 10000 - Iter 45\n",
      "RRMSE: 0.3641640956248283\n",
      "SEED: 10000 - Iter 46\n",
      "RRMSE: 0.36014355126449826\n",
      "SEED: 10000 - Iter 47\n",
      "RRMSE: 0.370031097491552\n",
      "SEED: 10000 - Iter 48\n",
      "RRMSE: 0.368232626304207\n",
      "SEED: 10000 - Iter 49\n",
      "RRMSE: 0.36478891538985836\n",
      "SEED: 10000 - Iter 50\n",
      "RRMSE: 0.36309899606067003\n",
      "SEED: 10000 - Iter 51\n",
      "RRMSE: 0.3698678698655764\n",
      "SEED: 10000 - Iter 52\n",
      "RRMSE: 0.3629521201598763\n",
      "SEED: 10000 - Iter 53\n",
      "RRMSE: 0.36086081408504866\n",
      "SEED: 10000 - Iter 54\n",
      "RRMSE: 0.37161133381837586\n",
      "SEED: 10000 - Iter 55\n",
      "RRMSE: 0.3718754397167832\n",
      "SEED: 10000 - Iter 56\n",
      "RRMSE: 0.3592990998179798\n",
      "SEED: 10000 - Iter 57\n",
      "RRMSE: 0.3683415529369971\n",
      "SEED: 10000 - Iter 58\n",
      "RRMSE: 0.36077047387791905\n",
      "SEED: 10000 - Iter 59\n",
      "RRMSE: 0.3636008864663325\n",
      "SEED: 10000 - Iter 60\n",
      "RRMSE: 0.3796110856171463\n",
      "SEED: 10000 - Iter 61\n",
      "RRMSE: 0.36640772336261623\n",
      "SEED: 10000 - Iter 62\n",
      "RRMSE: 0.3549071391051418\n",
      "SEED: 10000 - Iter 63\n",
      "RRMSE: 0.35796697221564466\n",
      "SEED: 10000 - Iter 64\n",
      "RRMSE: 0.36297569587876094\n",
      "SEED: 10000 - Iter 65\n",
      "RRMSE: 0.36086632425412124\n",
      "SEED: 10000 - Iter 66\n",
      "RRMSE: 0.3651203842170672\n",
      "SEED: 10000 - Iter 67\n",
      "RRMSE: 0.36241939684775937\n",
      "SEED: 10000 - Iter 68\n",
      "RRMSE: 0.3627330390549537\n",
      "SEED: 10000 - Iter 69\n",
      "RRMSE: 0.3621508623759735\n",
      "SEED: 10000 - Iter 70\n",
      "RRMSE: 0.3585538981784678\n",
      "SEED: 10000 - Iter 71\n",
      "RRMSE: 0.3649379831447772\n",
      "SEED: 10000 - Iter 72\n",
      "RRMSE: 0.3578431747331891\n",
      "SEED: 10000 - Iter 73\n",
      "RRMSE: 0.363785018635115\n",
      "SEED: 10000 - Iter 74\n",
      "RRMSE: 0.3644664920190512\n",
      "SEED: 10000 - Iter 75\n",
      "RRMSE: 0.37030962435357934\n",
      "SEED: 10000 - Iter 76\n",
      "RRMSE: 0.35870138587704326\n",
      "SEED: 10000 - Iter 77\n",
      "RRMSE: 0.3582453423616544\n",
      "SEED: 10000 - Iter 78\n",
      "RRMSE: 0.3577218128838161\n",
      "SEED: 10000 - Iter 79\n",
      "RRMSE: 0.35785649321916746\n",
      "SEED: 10000 - Iter 80\n",
      "RRMSE: 0.36783094999731525\n",
      "SEED: 10000 - Iter 81\n",
      "RRMSE: 0.3552308082932866\n",
      "SEED: 10000 - Iter 82\n",
      "RRMSE: 0.36344547563512586\n",
      "SEED: 10000 - Iter 83\n",
      "RRMSE: 0.36795924702086924\n",
      "SEED: 10000 - Iter 84\n",
      "RRMSE: 0.36743222788406155\n",
      "SEED: 10000 - Iter 85\n",
      "RRMSE: 0.36155095152218164\n",
      "SEED: 10000 - Iter 86\n",
      "RRMSE: 0.3641642854383129\n",
      "SEED: 10000 - Iter 87\n",
      "RRMSE: 0.3638691958556714\n",
      "SEED: 10000 - Iter 88\n",
      "RRMSE: 0.3649527855769141\n",
      "SEED: 10000 - Iter 89\n",
      "RRMSE: 0.3653039621846528\n",
      "SEED: 10000 - Iter 90\n",
      "RRMSE: 0.37395253429778885\n",
      "SEED: 10000 - Iter 91\n",
      "RRMSE: 0.36593705268396975\n",
      "SEED: 10000 - Iter 92\n",
      "RRMSE: 0.35902262177510497\n",
      "SEED: 10000 - Iter 93\n",
      "RRMSE: 0.36112568178882754\n",
      "SEED: 10000 - Iter 94\n",
      "RRMSE: 0.3588326361733124\n",
      "SEED: 10000 - Iter 95\n",
      "RRMSE: 0.3676342909837277\n",
      "SEED: 10000 - Iter 96\n",
      "RRMSE: 0.3715331279716493\n",
      "SEED: 10000 - Iter 97\n",
      "RRMSE: 0.35887844624551396\n",
      "SEED: 10000 - Iter 98\n",
      "RRMSE: 0.3660253275665114\n",
      "SEED: 10000 - Iter 99\n",
      "RRMSE: 0.3657103860484614\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "                                              FEATURES    RRMSE\n",
       "0    (TEMP_MÉD_ACC_MENS, TEMP_MIN_MAX_MENS, TEMP_MI...  0.35921\n",
       "1    (TEMP_MÉD_ACC_MENS, PRECIPITAÇÃO_MÉD_MENS, TEM...  0.36290\n",
       "2    (TEMP_MIN_MÉD_MENS, TEMP_MÉD_MIN_MENS, TEMP_MÉ...  0.36678\n",
       "3    (TEMP_MIN_MÉD_MENS, TEMP_MÉD_MIN_MENS, TEMP_MÉ...  0.36511\n",
       "4    (TEMP_MIN_MÉD_MENS, TEMP_MÉD_MAX_MENS, TEMP_MÉ...  0.35892\n",
       "..                                                 ...      ...\n",
       "986  (TEMP_MÉD_MÉD_MENS, TEMP_MÉD_ACC_MENS, TEMP_MI...  0.36763\n",
       "987  (TEMP_MÉD_MÉD_MENS, TEMP_MÉD_ACC_MENS, TEMP_MI...  0.37153\n",
       "988  (TEMP_MÉD_MAX_MENS, TEMP_MÉD_ACC_MENS, PRECIPI...  0.35888\n",
       "989  (TEMP_MÉD_ACC_MENS, PRECIPITAÇÃO_MÉD_MENS, TEM...  0.36603\n",
       "990  (TEMP_MIN_MÉD_MENS, TEMP_MÉD_ACC_MENS, TEMP_MI...  0.36571\n",
       "\n",
       "[991 rows x 2 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FEATURES</th>\n",
       "      <th>RRMSE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>(TEMP_MÉD_ACC_MENS, TEMP_MIN_MAX_MENS, TEMP_MI...</td>\n",
       "      <td>0.35921</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>(TEMP_MÉD_ACC_MENS, PRECIPITAÇÃO_MÉD_MENS, TEM...</td>\n",
       "      <td>0.36290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>(TEMP_MIN_MÉD_MENS, TEMP_MÉD_MIN_MENS, TEMP_MÉ...</td>\n",
       "      <td>0.36678</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>(TEMP_MIN_MÉD_MENS, TEMP_MÉD_MIN_MENS, TEMP_MÉ...</td>\n",
       "      <td>0.36511</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>(TEMP_MIN_MÉD_MENS, TEMP_MÉD_MAX_MENS, TEMP_MÉ...</td>\n",
       "      <td>0.35892</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>986</th>\n",
       "      <td>(TEMP_MÉD_MÉD_MENS, TEMP_MÉD_ACC_MENS, TEMP_MI...</td>\n",
       "      <td>0.36763</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>987</th>\n",
       "      <td>(TEMP_MÉD_MÉD_MENS, TEMP_MÉD_ACC_MENS, TEMP_MI...</td>\n",
       "      <td>0.37153</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>988</th>\n",
       "      <td>(TEMP_MÉD_MAX_MENS, TEMP_MÉD_ACC_MENS, PRECIPI...</td>\n",
       "      <td>0.35888</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>989</th>\n",
       "      <td>(TEMP_MÉD_ACC_MENS, PRECIPITAÇÃO_MÉD_MENS, TEM...</td>\n",
       "      <td>0.36603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>990</th>\n",
       "      <td>(TEMP_MIN_MÉD_MENS, TEMP_MÉD_ACC_MENS, TEMP_MI...</td>\n",
       "      <td>0.36571</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>991 rows × 2 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 10
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-05T20:44:30.351939Z",
     "start_time": "2025-07-05T20:44:30.324972Z"
    }
   },
   "cell_type": "code",
   "source": [
    "fitness_regressao = pd.read_csv(\"./resultados/features/fitness_features_regressao.csv\", sep=\";\", decimal=\".\")\n",
    "fitness_regressao[\"RRMSE\"] = fitness_regressao[\"RRMSE\"].round(5)\n",
    "fitness_regressao = fitness_regressao.sort_values(\"RRMSE\")\n",
    "fitness_regressao\n"
   ],
   "id": "ca15513ab9888b47",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                                              FEATURES    RRMSE\n",
       "752  ('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_MAX_MENS', 'TE...  0.35194\n",
       "405  ('TEMP_MÉD_MAX_MENS', 'TEMP_MÉD_ACC_MENS', 'PR...  0.35226\n",
       "236  ('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_ACC_MENS', 'TE...  0.35266\n",
       "824  ('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_ACC_MENS', 'TE...  0.35286\n",
       "228  ('TEMP_MÉD_MAX_MENS', 'TEMP_MÉD_ACC_MENS', 'TE...  0.35288\n",
       "..                                                 ...      ...\n",
       "726  ('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_ACC_MENS', 'TE...  0.37573\n",
       "816  ('TEMP_MÉD_MIN_MENS', 'TEMP_MÉD_MAX_MENS', 'TE...  0.37592\n",
       "911  ('TEMP_MIN_MÉD_MENS', 'TEMP_MÉD_MIN_MENS', 'TE...  0.37688\n",
       "114  ('TEMP_MÉD_MÉD_MENS', 'TEMP_MÉD_ACC_MENS', 'TE...  0.37718\n",
       "952  ('TEMP_MIN_MÉD_MENS', 'TEMP_MÉD_ACC_MENS', 'TE...  0.37961\n",
       "\n",
       "[991 rows x 2 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FEATURES</th>\n",
       "      <th>RRMSE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>752</th>\n",
       "      <td>('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_MAX_MENS', 'TE...</td>\n",
       "      <td>0.35194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>405</th>\n",
       "      <td>('TEMP_MÉD_MAX_MENS', 'TEMP_MÉD_ACC_MENS', 'PR...</td>\n",
       "      <td>0.35226</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>236</th>\n",
       "      <td>('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_ACC_MENS', 'TE...</td>\n",
       "      <td>0.35266</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>824</th>\n",
       "      <td>('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_ACC_MENS', 'TE...</td>\n",
       "      <td>0.35286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>228</th>\n",
       "      <td>('TEMP_MÉD_MAX_MENS', 'TEMP_MÉD_ACC_MENS', 'TE...</td>\n",
       "      <td>0.35288</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>726</th>\n",
       "      <td>('TEMP_MÉD_ACC_MENS', 'TEMP_MIN_ACC_MENS', 'TE...</td>\n",
       "      <td>0.37573</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>816</th>\n",
       "      <td>('TEMP_MÉD_MIN_MENS', 'TEMP_MÉD_MAX_MENS', 'TE...</td>\n",
       "      <td>0.37592</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>911</th>\n",
       "      <td>('TEMP_MIN_MÉD_MENS', 'TEMP_MÉD_MIN_MENS', 'TE...</td>\n",
       "      <td>0.37688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>114</th>\n",
       "      <td>('TEMP_MÉD_MÉD_MENS', 'TEMP_MÉD_ACC_MENS', 'TE...</td>\n",
       "      <td>0.37718</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>952</th>\n",
       "      <td>('TEMP_MIN_MÉD_MENS', 'TEMP_MÉD_ACC_MENS', 'TE...</td>\n",
       "      <td>0.37961</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>991 rows × 2 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 11
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-05T20:44:30.768394Z",
     "start_time": "2025-07-05T20:44:30.510285Z"
    }
   },
   "cell_type": "code",
   "source": [
    "fitness_regressao = fitness_regressao.sort_values(\"RRMSE\").head(1).reset_index(drop=True)\n",
    "fitness_regressao = pd.DataFrame(\n",
    "    str(fitness_regressao.iloc[0][\"FEATURES\"]).replace(\"(\", '').replace(\")\", '').replace(\"'\", \"\").split(\", \"),\n",
    "    columns=[\"FEATURES\"])\n",
    "\n",
    "fitness_regressao"
   ],
   "id": "3ce8870f1dc97e9e",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                    FEATURES\n",
       "0          TEMP_MÉD_ACC_MENS\n",
       "1          TEMP_MIN_MAX_MENS\n",
       "2          TEMP_MIN_ACC_MENS\n",
       "3      PRECIPITAÇÃO_MIN_MENS\n",
       "4          TEMP_MAX_ACC_MENS\n",
       "5      PRECIPITAÇÃO_MAX_MENS\n",
       "6          DIA_DA_SEMANA_sex\n",
       "7                    MÊS_abr\n",
       "8                    MÊS_jul\n",
       "9                    MÊS_mai\n",
       "10                   MÊS_mar\n",
       "11                  ANO_2024\n",
       "12                  ANO_2015\n",
       "13                  ANO_2017\n",
       "14                  ANO_2020\n",
       "15                  ANO_2014\n",
       "16          CAMPUS_ARAPONGAS\n",
       "17        CAMPUS_CAMPO LARGO\n",
       "18            CAMPUS_COLOMBO\n",
       "19  CAMPUS_LONDRINA - CENTRO\n",
       "20   CAMPUS_LONDRINA - NORTE\n",
       "21          CAMPUS_PARANAVAÍ\n",
       "22   CAMPUS_QUEDAS DO IGUAÇU\n",
       "23      CURSOS_GRAD_MATUTINO\n",
       "24    CURSOS_GRAD_VESPERTINO\n",
       "25                    FÉRIAS\n",
       "26                     COVID\n",
       "27                     ORDEM\n",
       "28                    LAG_01\n",
       "29                    LAG_02\n",
       "30                    LAG_03\n",
       "31                    LAG_04\n",
       "32                    LAG_05\n",
       "33                    LAG_06\n",
       "34                    LAG_08\n",
       "35                    LAG_11\n",
       "36                    LAG_12"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FEATURES</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>TEMP_MÉD_ACC_MENS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>TEMP_MIN_MAX_MENS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>TEMP_MIN_ACC_MENS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>PRECIPITAÇÃO_MIN_MENS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>TEMP_MAX_ACC_MENS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>PRECIPITAÇÃO_MAX_MENS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>DIA_DA_SEMANA_sex</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>MÊS_abr</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>MÊS_jul</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>MÊS_mai</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>MÊS_mar</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>ANO_2024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>ANO_2015</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>ANO_2017</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>ANO_2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>ANO_2014</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>CAMPUS_ARAPONGAS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>CAMPUS_CAMPO LARGO</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>CAMPUS_COLOMBO</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>CAMPUS_LONDRINA - CENTRO</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>CAMPUS_LONDRINA - NORTE</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>CAMPUS_PARANAVAÍ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>CAMPUS_QUEDAS DO IGUAÇU</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>CURSOS_GRAD_MATUTINO</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>CURSOS_GRAD_VESPERTINO</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>FÉRIAS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>COVID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>ORDEM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>LAG_01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>LAG_02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>LAG_03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>LAG_04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>LAG_05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>LAG_06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>LAG_08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>LAG_11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>LAG_12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 12
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
